最近需求中用到折线图,单线条,多线交错,之前是散点图,用的是另一个 amcharts.js,这个文档也能找的到,回归早本次重点:ECharts

一、首先引入echarts.common.min.js文件,当然开发状态下使用echarts.js可以更便于调试,(http://www.echartsjs.com/download.html)

二、为图表准备一个dom容器,宽高可以自行定义,

三、使用 echarts.init方法初始化一个echart是实例,并通过setOption方法生成一个简单的折线图,如下:

// 1 单独一个

var myChart = echarts.init(document.getElementById('main'));

// 指定图表的配置项和数据

var option = {

tooltip: { //跟随鼠标显示数值

trigger: 'axis'

},

//保存图片

toolbox: {

feature: {

saveAsImage: {

name:'热度监控', //图片名

pixelRatio:2

}

}

},

/* grid: { //canvas距离边界位置

left: '3%',

bottom:'25%'

},*/

// 声明一个 X 轴,类目轴(category)。默认情况下,类目轴对应到 dataset 第一列。

xAxis: {

type: 'category',

boundaryGap: false,//坐标轴不留白

data: dataX.slice(0,10),

axisLabel: { //x坐标展示偏移

interval:0,

rotate:60

},

/* axisLabel: { //刻度偏移

interval: 0,

rotate:0,

fontWeight:'400',

formatter:function(value)

{

return value.split("").join("\n");

}

},

axisTick:{ //隔几个空格显示刻度

interval:1,

}*/

},

// 声明一个 Y 轴,数值轴。

yAxis: {

type: 'value'

},

// 声明多个 bar 系列,默认情况下,每个系列会自动对应到 dataset 的每一列。

series: [{

data: [820, 932, 901, 934, 932, 901, 934],

type: 'line'

}]

};

// 使用刚指定的配置项和数据显示图表。

myChart.setOption(option);

其中部分属性都附上了注释,实际中会常用的是 saveAsImage ,用于图片的保存,

三、对于多个折线,跟上面的方法大同小异,区别于声明图例组件legend和系列列表赋值,demo如下:

//2 多个折线

/*2*/

var myChart3 = echarts.init(document.getElementById('main3'));

var option3 = {

tooltip: {

trigger: 'axis'

},

legend: {

data:['总池','用户池','马甲池']

},

toolbox: {

feature: {

saveAsImage: {

name:'奖池监控',

pixelRatio:2

}

}

},

xAxis: {

type: 'category',

boundaryGap: false,

data: dataX2,

},

yAxis: {

type: 'value'

},

series: [

{

name:'总池',

type:'line',

stack: '总量',

data:[120, 132, 101, 134, 90, 230, 210]

},

{

name:'用户池',

type:'line',

stack: '总量',

data:[220, 182, 191, 234, 290, 330, 310]

},

{

name:'马甲池',

type:'line',

stack: '总量',

data:[150, 232, 201, 154, 190, 330, 410]

}

]

};

myChart3.setOption(option3);

见下图:

image

四、当然我们经常用的过程中 值是需要动态配置的,用setOption给echarts实例动态赋值:

/*1先声明*/

var myChart1 = echarts.init(document.getElementById('main'));

myChart1.setOption({

legend: {

data:['销量']

},

tooltip: {

trigger: 'axis'

},

toolbox: {

feature: {

saveAsImage: {

name:'热度监控',

pixelRatio:2

}

}

},

xAxis: {

type: 'category',

boundaryGap: false,

data: []

},

yAxis: {

type: 'value'

},

series: [{

name: '销量',

type: 'line',

data: []

}]

});

// 2异步加载数据

$.get('/admin/js/data1.json').done(function (data) {

// 填入数据

myChart1.setOption({

xAxis: {

type: 'category',

boundaryGap: false,

data: data.dataX2

},

series: [{

name: '销量',

data: data.data1

}]

});

});

具体参数就不在解释,可以参考API中配置的说明,自己尝试几下就知道对应的意思了,

五、动态加载的时候,请求需要时间,这个过程中可以显示loading动画,也是有提供的,

myChart1.showLoading();

这个方法我在声明myChart1,初始化之后直接调用,动态配置获得请求后,在调用

myChart1.hideLoading();隐藏动画,举个栗子吧:

$.ajax({

type: "get",

url: 'demo.json',

async: true,

dataType: 'json',

success: function(res) {

if(res.status == 1 && res.data){

var data = res.data;

myChart3.setOption({

xAxis: {

type: 'category',

boundaryGap: false,

data: data.dataX1

},

series: [{

name:'总池',

type:'line',

stack: '总量',

data:data.dataY1

}]

});

}else if(!data){

messager('danger','暂无数据')

}else{

messager('danger',res.msg)

}

},

error: function(error) {

messager('danger',error.statusText)

},

complete:function () {

myChart3.hideLoading();

}

});

叨逼叨:这里series里有参数项stack,多个线条时有用,如果设置相同的stack值,后一个系列的值会在前一个系列的值上相加。

当然,这只是冰山一角,只是自己刚好需要这点而已,更多强大的功能暂时没有用到~~~~ _

本期——完

echart自定义动画_ECharts使用—折线图动态加载相关推荐

  1. 【Unity】光照贴图动态加载

    一般情况下对场景进行烘焙后,其实不用关心光照贴图的加载问题,Unity会自动帮我们处理好的,比如这个测试场景,烘焙结束后,关掉烘焙灯光,运行,直接运行得到的效果就是预期这样,没有写任何代码,光照贴图就 ...

  2. flutter 轮播图动态加载网络图片

    Swiper,网上很多列子只是加载固定的几张图,并且页面只有一个轮播图,在实际应用中,可能会遇到类似ins这种,加载列表,并且都是多图模式的情况. 需要添加依赖包flukit: ^1.0.0引用 im ...

  3. java 自定义classloader_编写自定义classloader实现类的动态加载

    目标:实现类的动态加载 原理:使用java的自定义classloader机制实现类的动态加载. 代码实现://自定义classloader public class StrategyClassLoad ...

  4. Cocos Creator 3.x 动态加载 龙骨动画

    龙骨动画比序列帧 优点好太多了,  CocosCreator 提供了很好的支持: 我们就用 龙骨软件自带的动画做一个demo 给大家介绍下:  1. 第一步 肯定是导出资源 我这边是按照目录进度的加载 ...

  5. html实现图片加载动画效果,HTML5+javascript实现图片加载进度动画效果

    在网上找资料的时候,看到网上有图片加载进度的效果,手痒就自己也写了一个. 图片加载完后,隐藏loading效果. 想看加载效果,请ctrel+F5强制刷新或者清理缓存. 效果预览: 0% 代码如下: ...

  6. echart 折线从左到右动画效果_echarts多条折线图动态分层的实现方法

    1.关于Echarts 大家可以到这个网址看一下,还是比较详细的. 这个功能还是很强大的,对于喜欢做数据统计来说是美味的. 2.echarts多条折线图动态分层 var xData = param.x ...

  7. 百度echart柱图、折线图、饼图、Map类型等类似视图的动态加载数据

    这几天接触的一个项目需要使用到百度的echart,所以简单查找并实验了几款比较简单且适用性较广的例子,做了几个简单的Demo,一来是对echart有所了解,二来也是记录一下,方便以后进一步的优化. 首 ...

  8. ECharts动态加载数据绘制折线图

    Echarts动态加载数据绘制折线图 ECharts 引入ECharts 步骤 连接数据接口,动态加载图表 动态加载数据,整体代码 折线图绘制 总结 绘制多个图表的方法 ECharts 纯Javasc ...

  9. Echarts使用及动态加载图表数据 折线图X轴数据动态加载

    Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...

最新文章

  1. linux sqlite图形工具,Linux操作系统下的几款svn gui工具介绍
  2. 笔记本电脑下载python视频教程-Python的Jupyter Notebook入门教程
  3. NodeJS文档之Buffer(1)-Buffer的简介
  4. 287. Find the Duplicate Number
  5. SpringBoot 2.x 集成 Redis
  6. Spring Boot 入门 IDEA 版本 2小时学会springBoot 代码上传至gitee 或者github 事务没做出来
  7. J - Borg Maze
  8. 中科院博士返乡卖汉服:3个月卖了300万,预计全年能破1500万
  9. java io编程_Java_IO编程
  10. Docker本地私有仓库的建立
  11. 解决IE下不支持placeholder属性可以根据自己的需要去扩展
  12. qt 子窗口写到线程就卡死_QT/C++实现卡通漫画风格化
  13. 极通ewebs应用虚拟化系统v6.2完美上市
  14. Vi的多文件间的复制和文本替换
  15. 业务信息化与管理信息化
  16. Java商城 架构演化
  17. VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)...
  18. win10增加图片查看器
  19. python读csv文件中文乱码问题简单解决(附python遍历目录下csv文件并输出内容的代码)
  20. 软件下载传送门(个人习惯自用记录)

热门文章

  1. 从入门到放弃系列-傅里叶变换,拉普拉斯变换,Z变换
  2. python 利用脚本命令压缩加密文件并删除源文件
  3. linux+zip+加密+无交互,Linux下zip加密压缩
  4. printf 打印结构体成员函数出错原因分析
  5. python 单元测试出现 Ran 0 tests in 0.000s OK Empty suite
  6. 赵铁安烧饼机器人_洛阳市民发明打烧饼机器人
  7. Android ImageView设置边框
  8. AcWing 145 超市
  9. The last dimension of the inputs to `Dense` should be defined. Found `None`.
  10. Python django 会议室管理系统