echart如何根据series的数据动态生成legend
时间: 2024-02-05 18:08:57 浏览: 236
下拉框选择事件动态加载echart数据
3星 · 编辑精心推荐
在ECharts中,可以通过设置`legend.data`属性来自定义图例。如果需要根据数据动态生成图例,可以在`series`中设置`name`属性,然后在`legend.data`中使用`series`的数据来动态生成图例。例如:
```javascript
// 定义 series 数据
var seriesData = [
{
name: '图例1',
type: 'bar',
data: [100, 200, 300]
},
{
name: '图例2',
type: 'bar',
data: [150, 250, 350]
},
{
name: '图例3',
type: 'bar',
data: [120, 220, 320]
}
];
// 定义 legend 数据
var legendData = [];
seriesData.forEach(function (item) {
legendData.push(item.name);
});
// 设置 ECharts 配置项
var option = {
legend: {
data: legendData
},
series: seriesData
};
// 渲染 ECharts 图表
var chart = echarts.init(document.getElementById('chart'));
chart.setOption(option);
```
在上面的代码中,我们先定义了`seriesData`数组,其中每个元素代表一个系列,包括系列的名称、类型和数据。然后,我们根据`seriesData`数组来动态生成`legendData`数组,即将每个系列的名称添加到`legendData`数组中。最后,我们将`legendData`数组设置为`legend.data`属性的值,从而动态生成图例。
需要注意的是,如果`series`中的数据发生变化,需要重新生成`legendData`数组,并将其设置为`legend.data`的值,才能实现动态生成图例。
阅读全文