ECharts简介
ECharts是一个使用JavaScript实现的开源可视化库,它可以轻松地在网页中渲染数据图表。ECharts不仅功能丰富,而且易于上手,是数据可视化领域非常受欢迎的工具之一。本攻略将从零基础开始,带你逐步掌握ECharts图表制作,最终能够独立绘制动态图表。
准备工作
环境搭建
- 浏览器:确保你的浏览器支持HTML5和JavaScript。
- Node.js:如果你计划使用ECharts的Node.js版本,需要安装Node.js环境。
- ECharts库:可以从ECharts的官方网站下载最新版本的ECharts库,或者使用CDN链接直接引入。
基本概念
- 数据:ECharts图表的基础是数据,你需要准备相应的数据格式。
- 配置项:ECharts图表的配置项决定了图表的样式和功能。
- 系列:ECharts图表中的数据系列,可以包含多个数据点。
- 坐标轴:图表的坐标轴用于展示数据的数值范围。
初识ECharts
引入ECharts
在HTML文件中引入ECharts库:
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
创建图表容器
<div id="main" style="width: 600px;height:400px;"></div>
初始化图表
var myChart = echarts.init(document.getElementById('main'));
配置图表
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
渲染图表
myChart.setOption(option);
绘制基本图表
折线图
var option = {
title: {
text: '折线图示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'line',
data: [5, 20, 36, 10, 10, 20]
}]
};
饼图
var option = {
title: {
text: '饼图示例'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 10,
data:['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子']
},
series: [
{
name: '商品销量',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
data:[
{value:5, name:'衬衫'},
{value:20, name:'羊毛衫'},
{value:36, name:'雪纺衫'},
{value:10, name:'裤子'},
{value:10, name:'高跟鞋'},
{value:20, name:'袜子'}
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
动态图表
数据动态更新
setInterval(function () {
var option = myChart.getOption();
option.series[0].data = [Math.round(Math.random() * 100)];
myChart.setOption(option);
}, 1000);
图表动画
var option = {
title: {
text: '图表动画示例'
},
tooltip: {},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20],
animationEffect: {
effect: 'scale',
delay: 1000
}
}]
};
高级应用
地理坐标图
var option = {
title: {
text: '地理坐标图示例'
},
tooltip: {
trigger: 'item',
formatter: '{b}<br/>{c}'
},
visualMap: {
min: 0,
max: 2000,
left: 'left',
top: 'bottom',
text: ['高','低'], // 文本,默认为数值文本
calculable: true
},
geo: {
map: 'china',
roam: true,
label: {
emphasis: {
show: false
}
},
itemStyle: {
normal: {
areaColor: '#323c48',
borderColor: '#111'
},
emphasis: {
areaColor: '#2a333d'
}
}
},
series: [
{
name: '销量',
type: 'map',
mapType: 'china',
roam: true,
data: [
{name: '北京',value: Math.round(Math.random() * 1000)},
{name: '上海',value: Math.round(Math.random() * 1000)},
// ... 其他省市
]
}
]
};
雷达图
var option = {
title: {
text: '雷达图示例'
},
tooltip: {},
legend: {
orient: 'vertical',
left: 'left',
data:['预算分配(分配率)']
},
radar: {
indicator: [
{name: '销售', max: 6500},
{name: '管理', max: 16000},
{name: '信息技术', max: 30000},
{name: '客服', max: 38000},
{name: '研发', max: 52000},
{name: '市场', max: 25000}
]
},
series: [{
name: '预算分配(分配率)',
type: 'radar',
data : [
{
value : [4200, 3000, 20000, 35000, 50000, 18000],
name : '预算分配(分配率)'
}
]
}]
};
总结
通过本攻略的学习,相信你已经掌握了ECharts图表制作的基本技巧。ECharts是一个功能强大的可视化库,随着你对它的深入了解,你将能够创造出更多精彩的图表。祝你在数据可视化领域取得更大的成就!
