echart自定义动画_ECharts使用—折线图动态加载
最近需求中用到折线图,单线条,多线交错,之前是散点图,用的是另一个 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使用—折线图动态加载相关推荐
- 【Unity】光照贴图动态加载
一般情况下对场景进行烘焙后,其实不用关心光照贴图的加载问题,Unity会自动帮我们处理好的,比如这个测试场景,烘焙结束后,关掉烘焙灯光,运行,直接运行得到的效果就是预期这样,没有写任何代码,光照贴图就 ...
- flutter 轮播图动态加载网络图片
Swiper,网上很多列子只是加载固定的几张图,并且页面只有一个轮播图,在实际应用中,可能会遇到类似ins这种,加载列表,并且都是多图模式的情况. 需要添加依赖包flukit: ^1.0.0引用 im ...
- java 自定义classloader_编写自定义classloader实现类的动态加载
目标:实现类的动态加载 原理:使用java的自定义classloader机制实现类的动态加载. 代码实现://自定义classloader public class StrategyClassLoad ...
- Cocos Creator 3.x 动态加载 龙骨动画
龙骨动画比序列帧 优点好太多了, CocosCreator 提供了很好的支持: 我们就用 龙骨软件自带的动画做一个demo 给大家介绍下: 1. 第一步 肯定是导出资源 我这边是按照目录进度的加载 ...
- html实现图片加载动画效果,HTML5+javascript实现图片加载进度动画效果
在网上找资料的时候,看到网上有图片加载进度的效果,手痒就自己也写了一个. 图片加载完后,隐藏loading效果. 想看加载效果,请ctrel+F5强制刷新或者清理缓存. 效果预览: 0% 代码如下: ...
- echart 折线从左到右动画效果_echarts多条折线图动态分层的实现方法
1.关于Echarts 大家可以到这个网址看一下,还是比较详细的. 这个功能还是很强大的,对于喜欢做数据统计来说是美味的. 2.echarts多条折线图动态分层 var xData = param.x ...
- 百度echart柱图、折线图、饼图、Map类型等类似视图的动态加载数据
这几天接触的一个项目需要使用到百度的echart,所以简单查找并实验了几款比较简单且适用性较广的例子,做了几个简单的Demo,一来是对echart有所了解,二来也是记录一下,方便以后进一步的优化. 首 ...
- ECharts动态加载数据绘制折线图
Echarts动态加载数据绘制折线图 ECharts 引入ECharts 步骤 连接数据接口,动态加载图表 动态加载数据,整体代码 折线图绘制 总结 绘制多个图表的方法 ECharts 纯Javasc ...
- Echarts使用及动态加载图表数据 折线图X轴数据动态加载
Echarts简介 echarts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,来自百度...我想应该够简洁了 使用Echarts 目前,就官网的文 ...
最新文章
- linux sqlite图形工具,Linux操作系统下的几款svn gui工具介绍
- 笔记本电脑下载python视频教程-Python的Jupyter Notebook入门教程
- NodeJS文档之Buffer(1)-Buffer的简介
- 287. Find the Duplicate Number
- SpringBoot 2.x 集成 Redis
- Spring Boot 入门 IDEA 版本 2小时学会springBoot 代码上传至gitee 或者github 事务没做出来
- J - Borg Maze
- 中科院博士返乡卖汉服:3个月卖了300万,预计全年能破1500万
- java io编程_Java_IO编程
- Docker本地私有仓库的建立
- 解决IE下不支持placeholder属性可以根据自己的需要去扩展
- qt 子窗口写到线程就卡死_QT/C++实现卡通漫画风格化
- 极通ewebs应用虚拟化系统v6.2完美上市
- Vi的多文件间的复制和文本替换
- 业务信息化与管理信息化
- Java商城 架构演化
- VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)...
- win10增加图片查看器
- python读csv文件中文乱码问题简单解决(附python遍历目录下csv文件并输出内容的代码)
- 软件下载传送门(个人习惯自用记录)
热门文章
- 从入门到放弃系列-傅里叶变换,拉普拉斯变换,Z变换
- python 利用脚本命令压缩加密文件并删除源文件
- linux+zip+加密+无交互,Linux下zip加密压缩
- printf 打印结构体成员函数出错原因分析
- python 单元测试出现 Ran 0 tests in 0.000s OK Empty suite
- 赵铁安烧饼机器人_洛阳市民发明打烧饼机器人
- Android ImageView设置边框
- AcWing 145 超市
- The last dimension of the inputs to `Dense` should be defined. Found `None`.
- Python django 会议室管理系统