通过 echarts
的 legendselected
事件实现。
还有其他的一些事件,如果遇到通过配置项解决不了的需求,可以查API
, 看看是否可以解决
代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="https://www.echartsjs.com/examples/vendors/echarts/echarts.min.js"></script>
</head>
<body>
<div style="position: relative; width: 600px;height:400px;">
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div style="position: absolute; left: 50%; transform: translateX(-50%);z-index: 10;">
<button
style="height: 28px;"
onclick="onLegendClick('邮件营销')"
>
邮件营销
</button>
<button
style="height: 28px;"
onclick="onLegendClick('联盟广告')"
>
联盟广告
</button>
</div>
<div id="main" style="width: 100%;height: 100%"></div>
</div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById("main"));
// 指定图表的配置项和数据
var option = {
title: {
text: "折线图堆叠"
},
tooltip: {
trigger: "axis"
},
legend: {
show: false,
},
grid: {
left: "3%",
right: "4%",
bottom: "3%",
containLabel: true
},
xAxis: {
type: "category",
boundaryGap: false,
data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
},
yAxis: {
type: "value"
},
series: [
{
name: "邮件营销",
type: "line",
stack: "总量",
data: [120, 132, 101, 134, 90, 230, 210]
},
{
name: "联盟广告",
type: "line",
stack: "总量",
data: [220, 182, 191, 234, 290, 330, 310]
},
{
name: "视频广告",
type: "line",
stack: "总量",
data: [150, 232, 201, 154, 190, 330, 410]
},
{
name: "直接访问",
type: "line",
stack: "总量",
data: [320, 332, 301, 334, 390, 330, 320]
},
{
name: "搜索引擎",
type: "line",
stack: "总量",
data: [820, 932, 901, 934, 1290, 1330, 1320]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
var onLegendClick = function(name) {
myChart.dispatchAction({
type: "legendToggleSelect",
// 图例名称
name: name,
});
};
</script>
</body>
</html>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。