echarts自学笔记

学习echarts的总结

一、图表的实现

(1)首先将echarts.js引入
为echarts提供一个DOM容器(具有宽高)
为echarts配置参数:
第一步:
初始化DOM容器,用echarts.init()函数
第二步:

配置数据选项var option={  
							title:{},//图表的标题
							tooltip:{},//应用的组件
							legend:{},//图例组件包括颜色、朝向、位置等 xAxis:[{}],//直角坐标系中x轴需要配置的 yAxis:[{}],//直角坐标系中y轴需要配置的 series:[{}],//系列列表,包括列表类型、颜色、数据等 }

第三步:myChart.setOption(option);将数据选项更新 以上步骤就可以基本完成一个简单的图表。

实例(柱状图表)(南丁格尔图)

(2)要完成更复杂一些的图表就需要用一些其他的交互组件功能来实现,echarts内置了 图例组件 legend、标题组件 title、视觉映射组件 visualMap、数据区域缩放组件 dataZoom、时间线组件 timeline 等
实例(在图表中加入交互组件)

二、异步数据的加载和更新

(1)一般正常情况图表的数据多数都是异步加载的,需要从后台获取数去并异步的加载到页面。Echarts中实现异步只需要jquery中的工具异步获取数据后通过setOption填入数据和配置即可。如下:

var mychart=echarts.init(document.getElementById(‘main’));
$.get(‘data.json’).done(function(data){
mychart.setOption({
title:{},
tooltip:{},
legend:{},
xAxis:{},
yAxis:{},
series:[{
data:data
}]
})
})

(2)还可以先设置一个空的坐标轴,然后再异步获取数据同样通过setOption载入,如果加载数据时间很长可以在获取数据的这段时间加上一个loading动画。只需调用showLoading ()方法就可以实现,数据加载完成后再用hideLoading()方法隐藏 。如下:

myChart.showLoading();
	$.get('data.json').done(function (data) { myChart.hideLoading(); myChart.setOption(...);});

(3)数据的动态更新
所有数据的更新都通过 setOption实现,你只需要定时获取数据,setOption 填入数据,而不用考虑数据到底产生了那些变化,ECharts 会找到两组数据之间的差异然后通过合适的动画去表现数据的变化。
一般地,是通过定时器定时获取数据并更新到页面
实例(数据的动态更新)

三、移动端的自适应

要实现的方法与CSS中的媒体查询方法类似,通过设置不同媒体下的的样式等实现功能。具体语法如下:

option = {
    baseOption: { // 这里是基本的『原子option』。
        title: {...},
        legend: {...},
        series: [{...}, {...}, ...],
        ...
    },
    media: [ // 这里定义了 media query 的逐条规则。
        {
            query: {...}, // 这里写规则。 option: { // 这里写此规则满足下的option。 legend: {...}, ... } }, { query: {...}, // 第二个规则。 option: { // 第二个规则对应的option。 legend: {...}, ... } }, { // 这条里没有写规则,表示『默认』, option: { // 即所有规则都不满足时,采纳这个option。 legend: {...}, ... } } ]};

实例中需要再引入timelineGDP.js和draggable.js其中timelineGDP.js还不知道作用是什么,到现在一直也都没有实现,还有待研究。但是实例中移动端的自适应还是正确的
实例(移动端的自适应)

四、数据的视觉映射

(1)概念

数据的可视化就是把数据到视觉元素的映射过程,例如折线图把数据用线表示,柱状图把数据用柱的高度表示诸如此类。
Echarts中的 visualMap 组件就提供数据视觉映射的功能,包括视觉映射中的图形类别,图形大小,颜色,透明度,颜色透明度,颜色明暗度,颜色饱和度,色调等。

(2)visualMap组件

visualMap提供了两种类型的组件,结构如下:

option = {
    visualMap: [ // 可以同时定义多个 visualMap 组件。
        { // 第一个 visualMap 组件
            type: 'continuous', // 定义为连续型 viusalMap ... }, { // 第二个 visualMap 组件 type: 'piecewise', // 定义为分段型 visualMap ... } ], ...};

实例(数据可视化)定义的是分段型visualMap

五、事件和行为

Echarts中所涉及的事件包含两种,一种是鼠标点击事件,或者hover时触发的事件;另一种是用户在使用可交互组件后触发的行为事件。如实例(在图表中加入交互组件)中的数据缩放时会触发datazoom事件。 事件的绑定用on

(1)鼠标事件

所有的鼠标事件都包含参数params,这是一个包含点击图形的数据信息的对象。可以在回调函数中获取这个对象中的函数名、系列名称等。 如下代码:

myChart.on('click', function (parmas) {
     $.get('detail?q=' + params.name, function (detail) { myChart.setOption({ series: [{ name: 'pie', // 通过饼图表现单个柱子中的数据分布 data: [detail.data] }] }); });});
(2)组件交互的行为事件

交互组件都会触发事件其中的事件种类都在events文档中有列出。用法一样用on.

六、API

Echarts中包含的4个类型的API分别为:  
echarts:{//一个全局对象,引入echarts.js后获得 init()//初始化实例,注意单个容器不能初始化多个实例 connect()//多个图表实例实现联动 disconnect()//解除图表之间的联动,如果只需要移除单个实例,可以 将通过将该图表实例 group 设为空 dispose()//销毁实例,销毁后无法再使用 getInstanceByDom()//获取DOM上的实例 registerMap()//注册可用的地图,必须在包括 geo 组件或者 map 图 表类型的时候才能使用。 getMap()//获取已注册的地图 registerTheme//注册主题,初始化时使用 }, echartsInstance:{},//通过echarts.init创建的实例可以获得实例的各种 属性 action:{},//echarts中支持的图表的行为包括legend:{},tooltip:{}等 events:{}//echarts中包含的事件

转载于:https://www.cnblogs.com/liuyangdiv/p/6425797.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值