ECharts 是一款使用 JavaScript 实现的开源可视化库,它提供了丰富的图表类型和交互功能,可以帮助开发者轻松地将数据转换为可视化的图表。无论是数据分析、报告展示还是网站应用,ECharts 都能提供强大的支持。下面,我将介绍一些 ECharts 中常用的组件,帮助你快速掌握并制作出精美的图表。
1. 基础图表
ECharts 提供了多种基础图表,包括:
- 折线图:用于展示数据随时间或其他连续变量的变化趋势。
- 柱状图:用于比较不同类别的数据。
- 散点图:用于展示两个变量之间的关系。
- 饼图:用于展示数据的占比情况。
折线图示例
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '折线图示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'line',
data: [5, 20, 36, 10, 10, 20]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
2. 雷达图
雷达图可以展示多个变量之间的关系,常用于多维度数据比较。
雷达图示例
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '雷达图示例'
},
tooltip: {},
legend: {
data:['预算分配(Allocated Budget)','实际开销(Actual Spending)']
},
radar: {
// 设置雷达图的指标
indicator: [
{ name: '销售(sales)', max: 6500},
{ name: '管理(admin)', max: 16000},
{ name: '信息技术(IT)', max: 30000},
{ name: '客服(customer support)', max: 38000},
{ name: '研发(R&D)', max: 52000},
{ name: '市场(marketing)', max: 25000}
]
},
series: [{
name: '预算 vs 开销',
type: 'radar',
data : [
{
value : [4200, 3000, 20000, 35000, 50000, 18000],
name : '预算分配(Allocated Budget)'
},
{
value : [5000, 14000, 28000, 26000, 42000, 21000],
name : '实际开销(Actual Spending)'
}
]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
3. 地理坐标系
地理坐标系可以展示地理位置相关的数据,如人口分布、气象数据等。
地理坐标系示例
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '地理坐标系示例'
},
tooltip: {
trigger: 'item',
formatter: function (params) {
return params.name + ' : ' + params.value[0];
}
},
visualMap: {
min: 0,
max: 200,
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: 'heatmap',
coordinateSystem: 'geo',
data: [
[113.26, 23.12, 95],
[113.56, 22.82, 90],
[114.07, 22.62, 85],
// ... 更多数据
]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
4. 仪表盘
仪表盘可以用于展示实时数据或关键指标。
仪表盘示例
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '仪表盘示例'
},
series: [
{
name: '业务指标',
type: 'gauge',
center: ['50%', '55%'], // 组件居中
radius: '60%',
axisLine: { // 坐标轴线
lineStyle: { // 属性lineStyle控制线条样式
color: [[0.2, '#67e0e3'], [0.8, '#37c0de'], [1, '#fff']],
width: 10
}
},
axisTick: { // 坐标轴小标记
length: 15, // 属性length控制线长
lineStyle: { // 属性lineStyle控制样式
color: '#595959',
width: 1
}
},
splitLine: { // 分隔线
length: 20, // 属性length控制线长
lineStyle: { // 属性lineStyle控制样式
color: '#595959',
width: 1
}
},
axisLabel: { // 坐标轴标签
distance: 25, // 属性distance控制标签与轴线的距离
color: '#595959',
fontSize: 12,
formatter: '{value}'
},
pointer: { // 指针
length: '70%',
color: 'auto'
},
title: {
show: false
},
detail: {
valueAnimation: true,
formatter: '{value} %',
color: '#595959'
},
data: [{value: 50}]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
通过学习以上这些常用组件,你可以轻松地使用 ECharts 制作出各种类型的图表。当然,ECharts 还提供了更多高级功能和自定义选项,等你去探索和实践。希望这篇文章能帮助你快速上手 ECharts,并在数据可视化领域取得更好的成果!
