ECharts 配置语法详解
ECharts 使用 option
配置对象 来定义图表的各个部分,包括标题、坐标轴、图例、数据系列等。掌握 option
语法,是使用 ECharts 进行数据可视化的核心。
1. option
配置结构
var option = {
title: { text: 'ECharts 示例' }, // 标题
tooltip: {}, // 提示框
legend: { data: ['销量'] }, // 图例
xAxis: { data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'] }, // X轴
yAxis: {}, // Y轴
series: [{ // 数据系列
name: '销量',
type: 'bar', // 图表类型
data: [5, 20, 36, 10, 10, 20]
}]
};
chart.setOption(option);
2. 主要配置项
2.1 title
(标题)
title: {
text: '主标题',
subtext: '副标题',
left: 'center', // 标题位置:left / center / right
textStyle: { color: '#333', fontSize: 18 }
}
2.2 tooltip
(提示框)
tooltip: {
trigger: 'axis', // 触发方式:'item'(单个数据点)或 'axis'(整个轴)
formatter: '{b}: {c}' // 自定义显示格式
}
2.3 legend
(图例)
legend: {
data: ['销量', '库存'],
left: 'right' // 位置
}
2.4 grid
(网格)
控制图表在画布中的位置:
grid: {
left: '10%',
right: '10%',
top: '15%',
bottom: '10%',
containLabel: true
}
2.5 xAxis
& yAxis
(坐标轴)
xAxis: {
type: 'category', // 类别轴
data: ['A', 'B', 'C', 'D', 'E']
},
yAxis: {
type: 'value' // 数值轴
}
2.6 series
(数据系列)
柱状图
series: [{
name: '销量',
type: 'bar',
data: [10, 20, 30, 40, 50],
itemStyle: { color: 'blue' } // 颜色
}]
折线图
series: [{
name: '温度',
type: 'line',
data: [15, 20, 25, 30, 35],
smooth: true // 平滑曲线
}]
饼图
series: [{
type: 'pie',
radius: '50%', // 半径大小
data: [
{ value: 1048, name: '苹果' },
{ value: 735, name: '香蕉' },
{ value: 580, name: '橙子' }
]
}]
散点图
series: [{
type: 'scatter',
data: [[10, 20], [20, 30], [30, 40]]
}]
3. 交互功能
3.1 toolbox
(工具栏)
toolbox: {
feature: {
saveAsImage: {}, // 下载图片
dataView: { readOnly: false }, // 查看数据
restore: {} // 还原
}
}
3.2 dataZoom
(缩放)
dataZoom: [
{ type: 'slider', start: 10, end: 80 } // 拖动缩放
]
3.3 visualMap
(视觉映射)
visualMap: {
min: 0,
max: 100,
calculable: true,
inRange: { color: ['blue', 'red'] }
}
4. 事件监听
点击事件
chart.on('click', function (params) {
alert(params.name + ': ' + params.value);
});
5. 组合示例
var option = {
title: { text: '销售数据' },
tooltip: {},
legend: { data: ['销量', '利润'] },
xAxis: { data: ['A', 'B', 'C', 'D', 'E'] },
yAxis: {},
series: [
{ name: '销量', type: 'bar', data: [10, 15, 30, 25, 20] },
{ name: '利润', type: 'line', data: [5, 10, 15, 10, 5] }
]
};
chart.setOption(option);
6. 总结
title
:标题tooltip
:悬浮提示legend
:图例grid
:调整布局xAxis
&yAxis
:坐标轴series
:数据系列toolbox
:工具栏(下载、查看数据)dataZoom
:数据缩放visualMap
:颜色映射- 事件监听:与用户交互
如果你有具体的 ECharts 需求,可以告诉我,我帮你优化配置!🚀
发表回复