CSDN开源夏令营 百度数据可视化实践 ECharts(8)问题分析

ECharts问题描述:

问题就是折线图上的点是显示的,有人问能不能一开始不显示,当你点击的时候或者是当鼠标移动到上面的时候,折线上的点才显示?

如下图所示:


分析:让折线上的点不显示可以让symbol属性为"none"。考虑到当点击的时候让折线上的点显示出来,那么可以再on事件中重新加载option事件。当click到折线关键点时候可以重新加载数据中symbol属性,设置成你想要的形状,并且一定要重新加载setOption事件。

{self} on{string} eventName, 
{Function}eventListener
事件绑定,事件命名统一挂载到require('echarts/config').EVENT(非模块化为echarts.config.EVENT)命名空间下,建议使用此命名空间作为事件名引用,当前版本支持事件有: 
REFRESH(刷新),RESTORE(还原),RESIZE(显示空间变化),CLICK(点击),HOVER(悬浮), 
DATA_CHANGED(数据修改),DATA_VIEW_CHANGED(数据视图修改), 
MAGIC_TYPE_CHANGED(动态类型切换),TIMELINE_CHANGED(时间轴变化), 
DATA_ZOOM(数据区域缩放),DATA_RANGE(值域漫游),MAP_ROAM(地图漫游), 
LEGEND_SELECTED(图例选择),MAP_SELECTED(地图选择),PIE_SELECTED(饼图选择) 
那么代码如下:

option = {
    tooltip : {
        trigger: 'item'
    },
    legend: {
        data:['最高','最低']
    },
    toolbox: {
        show : true,
        feature : {
            mark : {show: true},
            dataView : {readOnly:false},
            magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']},
            restore : {show: true},
            saveAsImage : {show: true}
        }
    },
    calculable : true,
    dataZoom : {
        show : true,
        realtime : true,
        start : 40,
        end : 60
    },
    xAxis : [
        {
            type : 'category',
            boundaryGap : true,
            data : function (){
                var list = [];
                for (var i = 1; i <= 30; i++) {
                    list.push('2013-03-' + i);
                }
                return list;
            }()
        }
    ],
    yAxis : [
        {
            type : 'value'
        }
    ],
    series : [
        {
            name:'最高',
            type:'line',
            data:function (){
                var list = [];
                for (var i = 1; i <= 30; i++) {
                  list.push({value:Math.round(Math.random()* 30) + 30,symbol:'none'});
                }
                return list;
            }()
        },
        {
            name:'最低',
            type:'bar',
            data:function (){
                var list = [];
                for (var i = 1; i <= 30; i++) {
                    list.push(Math.round(Math.random()* 10));
                }
                return list;
            }()
        }
    ]
};
var ecConfig = require('echarts/config');
myChart.on(ecConfig.EVENT.CLICK, function(params){
	option.series[params.seriesIndex].data[params.dataIndex].symbol='star'
	myChart.setOption(option);
});
                    

最终实现结果:


上面代码是option中的代码, 具体页面参考:
http://echarts.baidu.com/doc/example/event.html#




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
很抱歉,我无法提供ECharts数据可视化项目实践的PDF文件。但是,根据引用\[1\]和引用\[3\]的描述,这本《ECharts数据可视化:入门、实战与进阶》是一本非常适合初学者和进阶开发者的实战类教程,可以帮助读者快速上手ECharts实现各种效果。这本书从零开始讲解ECharts的使用方法和实战案例,包括制作单个可视化、制作Dashboard、使用ECharts的色彩主题等内容。书中还加入了大量的代码注释和解释,即使是小白也可以轻松学习。因此,如果你对ECharts数据可视化项目实践感兴趣,这本书可能会对你有所帮助。 #### 引用[.reference_title] - *1* *3* [第一本 ECharts 数据可视化书籍出版了!](https://blog.csdn.net/wujiandao/article/details/111658983)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [ECharts 数据可视化,这本书就够了!](https://blog.csdn.net/H176Nhx7/article/details/112690230)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值