echarts入门教程(超级详细带案例)
Posted 争儿不脱发
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echarts入门教程(超级详细带案例)相关的知识,希望对你有一定的参考价值。
一.echarts的介绍
1.echarts是一款基于javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。
2.学习一项技术的关键,还是需要多读官方文档,官网链接Apache ECharts,与之类似的图表库还有D3,HeightCharts。
3.echarts的下载
(1)从 npm 获取
npm install echarts --save
(2)从 CDN 获取
(3)从 GitHub 获取
二.echarts语法
一.echarts常见术语
英文 | 汉语 |
---|---|
title | 标题 |
legend | 图例 |
tooltip | 提示 |
xAxis | x轴线 |
yAxis | y轴线 |
series | 系列 |
data | 数据 |
二.图表常见类型
- bar 柱状图
- line折线图
(1)曲线图
加上smooth:true;就会变成曲线图
(2)面积图
加上areaStyle:fill:“#f70” 会变成面积图 - pie 饼形图
(1)加上radius:[80,50] 会变成环形图
三.echarts 中的样式简介
- 颜色主题
(1)主题可以通过切换深色模式,直接看到采用主题的效果
- 通过light 、dark切换
- 定制主题,具体可以参考官网,需要导入下载的js文件
// html 引入 vintage.js 文件后(假设主题名称是 "vintage")
var chart = echarts.init(dom, 'vintage');
// ...
(2)color调色盘
在 option 中设置。可以设置全局的调色盘,也可以设置系列自己专属的调色盘。
全局调色盘option.color
option.color:color: ["pink", "#ff0", "#f0f", "#0ff"]
局部调色盘series.item.color
series: [
type: 'bar',
// 此系列自己的调色盘。
color: [
'#dd6b66',
'#759aa0',
'#e69d87',
'#8dc1a9',
'#ea7e53',
'#eedd78',
'#73a373',
'#73b9bc',
'#7289ab',
'#91ca8c',
'#f49f42'
]
,
(3)itemStyle项的颜色
- itemStyle:color:“#00f”
- 高亮的样式emphasis
itemStyle:
normal:color:"#93da6c",
emphasis:color:"#bcff57"
- 特殊样式
渐变色
(1)定义渐变
// 定义渐变
var linear =
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2:1,
colorStops: [
offset: 0, color: '#02bcff' // 0% 处的颜色
,
offset: 1, color: '#5555ff' // 100% 处的颜色
],
global: false // 缺省为 false
(2)使用渐变
itemStyle:
color:linear,
borderRadius:[30,30,0,0]
- label标签
- show:true是否显示
- position:”insideRight“位置
- formatter格式
formatter: “a\\nc分”
a系列名
b数据名
c数值
d百分百 - rich富文本
series:[
type:"pie",radius:[200,110],data:[
name:"百度",value:1200,
label:show:true,
position:"center",
// d百分比 big|内容 使用样式
formatter:"big|dsmall|%\\nb",
// 定义样式(富文本)
rich:
big:
color:"#f70",
fontSize:"48px",
fontWeight:900,
,
small: color:"#f70"
,
name:"其他",value:360,
// 样式灰色
itemStyle:color:"#ccc",
// 标签不显示
label:show:false,
// 提示不显示
tooltip:show:false
]
]
四.动态显示局部
- 定义option
- 修改option值
- echart.setOption(option);更新数据和视图
五.缓动动画
动画延迟animationDelay
动画时长animationDuration,
动画缓动函数animationEasing
animationDelay: function(idx)
// 越往后的数据延迟越大
return idx * 200;
,
animationDuration: function(idx)
// 每小格动画的时候
return idx * 200;
,
// 弹性的方式出现动画
animationEasing: "bounceInOut"
六.事件
- 事件的监听
echart.on(”事件名“,处理函数) - 发送事件
dispatchAction
echart.dispatchAction(
type: 'showTip',
// 系列的 index,在 tooltip 的 trigger 为 axis 的时候可选。
seriesIndex: 0,
// 数据项的 index,如果不指定也可以通过 name 属性根据名称指定数据项
dataIndex: ind,
// 可选,数据项名称,在有 dataIndex 的时候忽略
position:"top",
)
三.echarts应用
实践出真知,学过前面的语法,快来创建属于自己的图表吧。练习完案例,就掌握了80%的echarts。宝子们快动手练习吧。
- 案例1
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- 01 导入js -->
<script src="js/echarts.min.js"></script>
<!-- 03 设置容器的样式 -->
<style>
#container
width: 800px;
height: 600px;
</style>
</head>
<body>
<!-- 02 创建个容器 -->
<div id="container"></div>
</body>
<script>
//04 实例化echarts
// 4.1 创建一个实例
var echart = echarts.init(document.getElementById("container"))
// 4.2 定义配置项
var option =
// 图表的标题
title:
text:"我的第一个图表"
,
// 图表的提示
tooltip:,
// 图例
legend:data:["睡眠时长"],
// x轴线
xAxis:data:["周一","周二","周三","周四","周五","周六","周日"],
// y轴线
yAxis:,
// 设置数据
series:[
// 数据名称
name:"睡眠时长",
// 类型为柱状图
type:"bar",
// 数据data
data:[8,10,4,5,9,4,8]
]
// 4.3 更新配置
echart.setOption(option);
// chart图表,set设置 Option选项 data数据 type类型 bar条(柱状条),series系列(数据) Axis轴线 xAxis水平轴线
// legend传奇(图例) tooltip 提示 init初始化 document文档
</script>
</html>
- 案例2
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- 01 导入js -->
<script src="js/echarts.min.js"></script>
<!-- 03 设置容器的样式 -->
<style>
#container
width: 800px;
height: 600px;
</style>
</head>
<body>
<!-- 02 创建个容器 -->
<div id="container"></div>
</body>
<script>
//04 实例化echarts
// 4.1 创建一个实例
var echart = echarts.init(document.getElementById("container"))
// 4.2 定义配置项
var option =
// 图表的标题
title:
text:"我的第一个图表"
,
// 图表的提示
tooltip:,
// 图例
legend:data:["睡眠时长","玩游戏时长","上课时长"],
// x轴线
xAxis:data:["周一","周二","周三","周四","周五","周六","周日"],
// y轴线
yAxis:,
// 设置数据
series:[
// 数据名称
name:"睡眠时长",
// 类型为柱状图
type:"bar",
// 数据data
data:[8,10,4,5,9,4,8]
,
// 数据名称
name:"玩游戏时长",
// 类型为柱状图
type:"line",
// 数据data
data:[2,4,1,5,6,8,5]
,
// 数据名称
name:"上课时长",
// 类型为柱状图
type:"line",
smooth:true,
// 数据data
data:[6,7,5,8,6,1,0],
areaStyle:"#f70"
,
name:"成绩",
// 饼形图
type:"pie",
// radius:80,
// 半径
radius:[80,50],
// 位移
left:-80,
top:-270,
// 数据
data:[
name:"js",value:90,
name:"html",value:85,
name:"jq",value:90,
name:"vue",value:50,
]
]
// 4.3 更新配置
echart.setOption(option);
// chart图表,set设置 Option选项 data数据 type类型 bar条(柱状条),series系列(数据) Axis轴线 xAxis水平轴线
// legend传奇(图例) tooltip 提示 init初始化 document文档
</script>
</html>
- 案例3
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!-- 01 导入js -->
<script src="js/echarts.min.js"></script>
<!-- 03 设置容器的样式 -->
<script src="./js/purple-passion.js" type="text/javascript" charset="utf-8"></script>
<style>
#container
width: 800px;
height: 600px;
</style>
</head>
<body>
<!-- 02 创建个容器 -->
<div id="container"></div>
</body>
<script>
//04 实例化echarts
// 4.1 创建一个实例
var echart = echarts.init(document.getElementById("container"))
// 主题,light,dark,自定义
// var echart = echarts.init(document.getElementById("container"),'purple-passion')
// 4.2 定义配置项
var option =
// 调色盘
// color:["#55aaff","#aaff7f","#55007f","#ffff00"],
// 图表的标题
title:
text:"我的第一个图表"
,
// 图表的提示
tooltip:,
// 图例
legend:data:["睡眠时长","玩游戏时长","上课时长"],
// x轴线
xAxis:data:["周一","周二","周三","周四","周五","周六","周日"],
// y轴线
yAxis:,
// 设置数据
series:[
// 数据名称
name:"睡眠时长",
// 类型为柱状图
type:"bar",
// 数据data
data:[8,10,4,5,9,4,8],
color:["#ac4cff"]
,
// 数据名称
name:"玩游戏时长",
// 类型为柱状图
type:"line",
// 数据data
data:[2,4,1,5,6,8,5]
,
// 数据名称
name:"上课时长",
// 类型为柱状图
type:"line",
smooth:true,
// 数据data
data:[6,7,5,8,6,1,0],
// areaStyle:"#f70"
,
name:"成绩",
// 饼形图
type:"pie",
// radius:80,
// 半径
radius:[80,50],
// 位移
left:-80,
top:-270,
// 数据
data:[
name:"js",value:90,
name:"html",value:85,itemStyle:
color:"#ffaa00"
,
name:"jq",value:90,
itemStyle:
normal:color:"#93da6c",
emphasis:color:"#bcff57"
,
name:"vue",value:50,
]
]
// 4.3 更新配置
echart.setOption(option);
// chart图表,set设置 Option选项 data数据 type类型 bar条(柱状条),series系列(数据) Axis轴线 xAxis水平轴线
// legend传奇(图例) tooltip 提示 init初始化 document文档
</script>
</html>
ECharts案例教程1
原文:http://blog.csdn.net/whqet/article/details/42703973
简介
ECharts,缩写来自Enterprise Charts,商业级数据图表,是百度的一个开源的数据可视化工具,业界给予了很多赞誉,这里不多说,需要了解详情的同学参见官网。我简略看了下,最贴切的地方在于本地化支持,比如对于中国地图的支持。
案例欣赏
-----------------------
--------------------------------------------------------------
--------------------------------------------------------------
----------------------
具体实现
简单条形图
先来一个最简单的案例,实现一个条形图,代码我放在codepen哟,大家可以移步预览效果先。
预先准备好具有宽和高的网页元素,我们将用它绘制数据表。
- <div id="main" style="width:600px;height:400px"></div>
然后我们导入Echarts类库,做好准备。
- <script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
然后就是重头戏,我们来绘制数据表,首先配置路径,接着使用Echarts开始绘图。
- // 路径配置
- require.config({
- paths: {
- echarts: ‘http://echarts.baidu.com/build/dist‘
- }
- });
-
- // 使用
- require(
- [
- ‘echarts‘,
- ‘echarts/chart/bar‘, // 使用柱状图就加载bar模块,按需加载
- ],
- function (ec) {
- // 基于准备好的dom,初始化echarts图表
- var myChart = ec.init(document.getElementById(‘main‘));
- //设置数据
- var option = {
-
- };
-
- // 为echarts对象加载数据
- myChart.setOption(option);
- }
- );
重点是option里的设置,设置坐标轴、设置数据。
- var option = {
- //设置坐标轴
- xAxis : [
- {
- type : ‘category‘,
- data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子","帽子","围巾"]
- }
- ],
- yAxis : [
- {
- type : ‘value‘
- }
- ],
- //设置数据
- series : [
- {
- "name":"销量",
- "type":"bar",
- "data":[5, 20, 40, 10, 24, 20,24,32],
- }
- ]
- };
我们可以设置图标标题、图例、提示等,代码如下,效果如下图所示。
- var option = {
- //设置标题
- title:{
- text:‘销量图‘,
- subtext:‘纯属捏造,如有雷同,人品爆发。‘
- },
- //设置提示
- tooltip: {
- show: true
- },
- //设置图例
- legend: {
- data:[‘销量‘]
- },
- //设置坐标轴
- xAxis : [
- {
- type : ‘category‘,
- data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子","帽子","围巾"]
- }
- ],
- yAxis : [
- {
- type : ‘value‘
- }
- ],
- //设置数据
- series : [
- {
- "name":"销量",
- "type":"bar",
- "data":[5, 20, 40, 10, 24, 20,24,32],
- }
- ]
- };
======================ok,华丽的分割线,之后我来点复杂的==========================
条形图折线图混搭
加点料,来电混搭,直线图加上条形图,同时画平均线、提示最大最小值,同样代码放在codepen,移步预览效果先。
当我们需要混搭的时候,首先需要在require里加载需要使用的图库,然后在series里填写折线图的数据就可以了。代码如下,因为注释已经写得很清楚了,就不在啰嗦了,大家直接研究代码。
- // 路径配置
- require.config({
- paths: {
- echarts: ‘http://echarts.baidu.com/build/dist‘
- }
- });
-
- // 使用
- require(
- [
- ‘echarts‘,
- ‘echarts/chart/bar‘, // 使用柱状图就加载bar模块,按需加载
- ‘echarts/chart/line‘
- ],
- function (ec) {
- // 基于准备好的dom,初始化echarts图表
- var myChart = ec.init(document.getElementById(‘main‘));
- //设置数据
- var option = {
- //设置标题
- title:{
- text:‘销量图‘,
- subtext:‘纯属捏造,如有雷同,人品爆发。‘
- },
- //设置提示
- tooltip: {
- show: true
- },
- //设置图例
- legend: {
- data:[‘销量‘]
- },
- //设置坐标轴
- xAxis : [
- {
- type : ‘category‘,
- data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子","帽子","围巾"]
- }
- ],
- yAxis : [
- {
- type : ‘value‘
- }
- ],
- //设置数据
- series : [
- //条形图
- {
- "name":"销量",
- "type":"bar",
- "data":[5, 20, 38, 10, 24, 20,24,32]
- },
- //折线图
- {
- "name":"销量",
- "type":"line",
- "data":[5, 20, 38, 10, 24, 20,24,32],
- //绘制平均线
- markLine : {
- data : [
- {type : ‘average‘, name: ‘平均值‘}
- ]
- },
- //绘制最高最低点
- markPoint : {
- data : [
- {type : ‘max‘, name: ‘最大值‘},
- {type : ‘min‘, name: ‘最小值‘}
- ]
- }
- }
- ]
- };
-
- // 为echarts对象加载数据
- myChart.setOption(option);
- }
- );
以上是关于echarts入门教程(超级详细带案例)的主要内容,如果未能解决你的问题,请参考以下文章