ECharts 饼图教程
ECharts 支持 饼图(Pie Chart),用于展示数据占比情况,例如市场份额、人口分布等。饼图可以定制 半径、标签、颜色、交互功能等。
1. 基本饼图
示例:商品销售占比
var option = {
title: { text: '商品销售占比', left: 'center' },
tooltip: { trigger: 'item' },
legend: { bottom: '0%', left: 'center' },
series: [{
name: '销量',
type: 'pie',
radius: '50%', // 饼图大小
data: [
{ value: 1048, name: '苹果' },
{ value: 735, name: '香蕉' },
{ value: 580, name: '橙子' },
{ value: 484, name: '梨' },
{ value: 300, name: '葡萄' }
],
emphasis: {
itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' }
}
}]
};
chart.setOption(option);
📌 关键点
radius: '50%'
:控制饼图大小legend: { bottom: '0%' }
:图例位置emphasis
:选中高亮效果
2. 圆环图(环形饼图)
示例:订单状态占比
series: [{
type: 'pie',
radius: ['40%', '60%'], // 内外半径,形成环形
data: [
{ value: 1200, name: '已完成' },
{ value: 800, name: '待支付' },
{ value: 500, name: '已取消' }
]
}]
📌 关键点
radius: ['40%', '60%']
:定义内环和外环半径- 形成 环形饼图
3. 玫瑰图
示例:按类别调整大小
series: [{
type: 'pie',
radius: '55%',
roseType: 'radius', // 玫瑰图模式:'radius' 或 'area'
data: [
{ value: 10, name: 'A' },
{ value: 20, name: 'B' },
{ value: 30, name: 'C' },
{ value: 40, name: 'D' }
]
}]
📌 关键点
roseType: 'radius'
:根据数值调整半径- 适用于 层级关系、权重分布
4. 设置颜色
series: [{
type: 'pie',
data: [
{ value: 100, name: '类别1', itemStyle: { color: '#FF5733' } },
{ value: 200, name: '类别2', itemStyle: { color: '#33FF57' } },
{ value: 300, name: '类别3', itemStyle: { color: '#3357FF' } }
]
}]
📌 关键点
itemStyle: { color: '#XXXXXX' }
:自定义颜色
5. 饼图标签
series: [{
type: 'pie',
label: {
show: true,
formatter: '{b}: {c} ({d}%)' // 名称: 值 (百分比)
}
}]
📌 关键点
formatter: '{b}: {c} ({d}%)'
:显示百分比
6. 饼图交互
点击事件
chart.on('click', function (params) {
alert(params.name + ':' + params.value);
});
7. 组合示例
var option = {
title: { text: '市场份额分析', left: 'center' },
tooltip: { trigger: 'item' },
legend: { bottom: '0%', left: 'center' },
series: [{
name: '市场份额',
type: 'pie',
radius: ['40%', '60%'], // 环形
label: { formatter: '{b}: {c} ({d}%)' },
data: [
{ value: 400, name: '公司 A' },
{ value: 335, name: '公司 B' },
{ value: 310, name: '公司 C' },
{ value: 274, name: '公司 D' },
{ value: 235, name: '公司 E' }
]
}]
};
chart.setOption(option);
8. 总结
类型 | 适用场景 | 关键参数 |
---|---|---|
基础饼图 | 数据占比 | radius: '50%' |
环形图 | 对比多个类别 | radius: ['40%', '60%'] |
玫瑰图 | 重要性排序 | roseType: 'radius' |
自定义颜色 | 品牌色 | itemStyle: { color: 'xxx' } |
显示标签 | 百分比 | formatter: '{d}%' |
你希望实现哪种饼图效果?🚀
发表回复