Echars使用指南
概念介绍
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。
快速入门
①基于HTML创建脚本
<!DOCTYPE html>
<html lang="zh_CN">
<head><meta charset="UTF-8"><title>首页</title><!-- 引入 ECharts 文件 --><script src="echars/jquery.js"></script><script src="echars/echarts.min.js"></script>
</head>
<body><!-- 为 ECharts 准备一个具备大小(宽高)的 DOM --><div id="main" style="width: 600px;height:400px;background-color: blanchedalmond"></div>
</body>
</html>
②渲染组件
<script>$(function(){var myChart = echarts.init($("#char_bar")[0]);// 指定图表的配置项和数据var option = {title: {text: 'ECharts 入门示例'},tooltip: {},legend: {data:['品类销量']},xAxis: {data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]},yAxis: {},series: [{type: 'bar',name: '品类销量',data: [5, 20, 36, 10, 10, 20]}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);
})
</script>
③渲染结果
基础概念
echarts 实例
一个网页中可以创建多个 echarts 实例
。每个 echarts 实例
中可以创建多个图表和坐标系等等(用 option
来描述)。准备一个 DOM 节点(作为 echarts 的渲染容器),就可以在上面创建一个 echarts 实例。每个 echarts 实例独占一个 DOM 节点。
系列(series)
系列
(series)是很常见的名词。在 echarts 里,系列
(series)是指:一组数值以及他们映射成的图。“系列”这个词原本可能来源于“一系列的数据”,而在 echarts 中取其扩展的概念,不仅表示数据,也表示数据映射成为的图。所以,一个 系列
包含的要素至少有:一组数值、图表类型(series.type
)、以及其他的关于这些数据如何映射成图的参数。
echarts 里系列类型(series.type
)就是图表类型。系列类型(series.type
)至少有:line(折线图)、bar(柱状图)、pie(饼图)、scatter(散点图)、graph(关系图)、tree(树图)等。如下图,右侧的 option
中声明了三个 系列
(series):pie(饼图系列)、line(折线图系列)、bar(柱状图系列),每个系列中有他所需要的series.data
<script>$(function(){var myChart = echarts.init($("#char_bar2")[0]);// 指定图表的配置项和数据var option= {title: {text: 'ECharts图例基本使用和'},tooltip: {},legend: {data:['品类销量','利润点',"市场占比"]},xAxis: {data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]},yAxis: {},series: [{type: 'bar',name: '品类销量',data: [5, 20, 36, 10, 10, 20]},{type: 'line',name: '利润点',data: [3, 15, 15, 5, 8, 12]},{type: 'pie',name: '市场占比',center:["80%",80],radius:50,data: [{name:"华南",value:150},{name:"华北",value:100},{name:"华中",value:60},{name:"其他",value:50}]}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);})
</script>
类同地,下图中是另一种配置方式,系列的数据从 dataset 中取:
var option= {title: {text: 'ECharts图例基本使用'},dataset:{source:[["衬衫",5,3,"华南",150],["羊毛衫",20,15,"华北",100],["雪纺衫",36,15,"华中",60],["裤子",10,5,"其他",50],["高跟鞋",10,8],["袜子",20,12]]},tooltip: {},legend: {data:['品类销量','利润点',"市场占比"]},xAxis: {type:"category"},yAxis: {},series: [{type: 'bar',name: '品类销量',encode:{x:0,y:1}},{type: 'line',name: '利润点',encode:{x:0,y:2}},{type: 'pie',name: '市场占比',center:["80%",80],radius:50,encode:{itemName:3,value:4}}]
};
组件(component)
在系列之上,echarts 中各种内容,被抽象为“组件”。例如,echarts 中至少有这些组件:xAxis(直角坐标系 X 轴)、yAxis(直角坐标系 Y 轴)、grid(直角坐标系底板)、angleAxis(极坐标系角度轴)、radiusAxis(极坐标系半径轴)、polar(极坐标系底板)、geo(地理坐标系)、dataZoom(数据区缩放组件)、visualMap(视觉映射组件)、tooltip(提示框组件)、toolbox(工具栏组件)、series(系列)等。我们注意到,其实系列(series)也是一种组件,可以理解为:系列是专门绘制“图”的组件。如下图,右侧的 option
中声明了各个组件(包括系列),各个组件就出现在图中。
坐标系
很多系列,例如 line(折线图)、bar(柱状图)、scatter(散点图)、heatmap(热力图)等等,需要运行在 “坐标系” 上。坐标系用于布局这些图,以及显示数据的刻度等等。
一个坐标系,可能由多个组件协作而成。我们以最常见的直角坐标系来举例。直角坐标系中,包括有 xAxis(直角坐标系 X 轴)、yAxis(直角坐标系 Y 轴)、grid(直角坐标系底板)三种组件。
xAxis
、yAxis
被 grid
自动引用并组织起来,共同工作。我们来看下图,这是最简单的使用直角坐标系的方式:只声明了 xAxis
、yAxis
和一个 scatter
(散点图系列),echarts 暗自为他们创建了 grid
并关联起他们:
散点图系列
var option={title: {text: '散点分布案例'},legend:{data:["点分布"]},tooltip:{},xAxis:{},yAxis:{},series:[{type:"scatter",name:"点分布",data:[[13,44],[51,51],[51,32],[67,19],[19,33]]}]
}
折线图
var option={title: {text: '折线分布图'},legend:{data:["折线图"]},tooltip:{},xAxis:{type: "category",data:["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]},yAxis:{min:0,max:100,interval:10},series:[{type:"line",name:"折线图",data:[10,20,40,35,40,20,10]}]
}
柱状图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F9q6Wabx-1585185588044)(assets/image-20200319165901828.png)]
var option={title: {text: '柱状分布图'},legend:{data:["柱状图"]},tooltip:{},xAxis:{type: "category",data:["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]},yAxis:{min:0,max:100,interval:10},series:[{type:"bar",name:"柱状图",data:[10,20,40,35,40,20,10]}]
}
不同Y轴
var option={title: {text: '不同Y轴'},legend:{data:["访问量1","访问量2"]},tooltip:{},xAxis:{data:["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]},yAxis:[{min:0,max:50,interval:5},{min:0,max:100,interval:5}],series:[{type:"bar",name:"访问量1",data:[10,20,40,35,40,20,10],yAxisIndex:0},{type:"line",name:"访问量2",data:[55,15,40,35,40,25,100],yAxisIndex:1}]
}
不同x/y轴
var option={title: {text: '不同X和Y使用grid分离',left:"45%",top:0},grid:[{top:50,height:"80%",width:"40%"},{top:50,height:"80%",width:"40%",right:"5%"}],legend:{data:["访问量1","访问量2"],left:"80%",top:0},tooltip:{},xAxis:[{ data:["星期一","星期二","星期三","星期四","星期五","星期六","星期日"],gridIndex:0,type:"category"},{ data:["mon","tus","wes","thu","fri","sat","sun"],gridIndex:1,type:"category"}],yAxis:[{min:0,max:50,interval:5,gridIndex:0},{min:0,max:100,interval:10,gridIndex:1}],series:[{type:"bar",name:"访问量1",data:[10,20,40,35,40,20,10],yAxisIndex:0,xAxisIndex:0},{type:"line",name:"访问量2",data:[55,15,40,35,40,25,100],yAxisIndex:1,xAxisIndex:1}]
}
饼状图
var option = {legend:{data:["访问来源","周访问量"]},tooltip:{},xAxis:{type: "category",data:["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]},yAxis:{min:0,max:100,interval:10},grid:{left:"5%",width:"60%"},series : [{name: '访问来源',type: 'pie',radius: '55%',center:["80%","50%"],radius:55,data:[{value:0, name:'视频广告'},{value:274, name:'联盟广告'},{value:310, name:'邮件营销'},{value:100, name:'直接访问'},{value:90, name:'搜索引擎'},{value:95, name:'广告推广'}]},{type:"bar",name:"周访问量",data:[10,20,40,35,40,20,10]}]
};
Echars使用指南相关推荐
- 超详细中文预训练模型ERNIE使用指南-源码
作者 | 高开远,上海交通大学,自然语言处理研究方向 最近在工作上处理的都是中文语料,也尝试了一些最近放出来的预训练模型(ERNIE,BERT-CHINESE,WWM-BERT-CHINESE),比对 ...
- 入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集-深度学习问题
入门指南目录页 -PaddlePaddle 飞桨 入门指南 FAQ合集 GT_Zhang关注 0.1012019.08.01 18:43:34字数 1,874阅读 795 Hi,欢迎各位来自Paddl ...
- ASIC设计-终极指南
ASIC设计-终极指南 ASIC Design – The Ultimate Guide ASIC设计-终极指南 ASICs代表特定于应用的集成电路,指的是针对特定应用而设计的半导体解决方案,与其他解 ...
- Python神经网络集成技术Guide指南
Python神经网络集成技术Guide指南 本指南将介绍如何加载一个神经网络集成系统并从Python运行推断. 提示 所有框架的神经网络集成系统运行时接口都是相同的,因此本指南适用于所有受支持框架(包 ...
- 深度学习框架集成平台C++ Guide指南
深度学习框架集成平台C++ Guide指南 这个指南详细地介绍了神经网络C++的API,并介绍了许多不同的方法来处理模型. 提示 所有框架运行时接口都是相同的,因此本指南适用于所有受支持框架(包括Te ...
- HTML5与CSS3权威指南之CSS3学习记录
title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...
- Maven入门指南⑦:Maven的生命周期和插件
Maven入门指南⑦:Maven的生命周期和插件 一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周 ...
- ini文件怎么使用_ftp文件下载工具,ftp文件下载工具是怎么使用的?使用指南
ftp文件下载工具是什么工具,可能有人会回答说不知道,因为一般只有从事网站管理的工作者会使用的多一点.但不是每个人生来就会的,所以刚开始肯定都会学习怎么使用.这篇文章就来教一下大家ftp文件下载工具是 ...
- 王建春计算机应用基础,计算机应用基础(本)教学指南.pdf
"计算机应用基础(本 )"教学指南 一.课程概况 课程性质.教学目标.教学内容等详见 "课程导学--学什么". 1.学习资源 现有教学资源 功能 "学 ...
最新文章
- oracle导出超过100m的数据库,Oracle数据库的导出和导入
- 2021年JVM生态中哪些是流行的、热门的、趋势是什么
- 【arduino】ESP32 SPIFFS插件使用报错及解决方法:SPIFFS Error:esptool not found!
- RabbitMQ的missingQueuesFatal参数
- Spring集成Memcached三种方式(一)
- 可塑性极强渐变几何空间,设计中不可或缺的素材
- 人不能轻易暴露自己的底牌,否则会陷入被动的局面
- fatal error LNK _X
- python opencv 鼠标提取矩形(Rectangle)ROI
- CF1190E Tokitsukaze and Explosion 二分、贪心、倍增、ST表
- dwf怎么合成一个_cad多张图纸拆分(如何将一个有多个图的CAD文件,按图分成几个文件)...
- Java 中status意思_java web开发中 varStatues=quot;statusquot; 中参数status是啥作用和意思呢?这个参数的设置有啥要求呢?...
- 解决Macbook互联网不能共享 因为它是受802.1X保户问题
- CTF之旅WEB篇(3)--ezunser PHP反序列化
- 鬼影没干掉。 病毒已经清除。
- 源生的html属性js,源生JS怎样实现todolist功能
- php中文数字转阿拉伯数字,中文数字转阿拉伯数字
- 爬虫基础(案例:爬取17K小说个人书架信息)
- 准备安装knoppix
- 【白板动画制作软件】万彩手影大师教程 | 声音编辑器