本文包含echarts中自定义提示框触发方式及其对应的方法和实例。
在提示框组件tooltip详解(1)中我们说过:
提示框触发方式trigger的取值可以有两种分别为:
下面我们以之前写过的树懒课堂总部一周气温变化这个实例为例:
完整代码如下:
<html>
<head>
<script src="echarts.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title: {
text: '树懒课堂总部一周气温变化', //标题
subtext: '纯属虚构' //子标题
},
tooltip: {//提示框,鼠标悬浮交互时的信息提示
trigger: 'item'//值为axis显示该列下所有坐标轴对应数据,值为item时只显示该点数据
},
legend: { //图例,每个图表最多仅有一个图例
data: ['最高气温', '最低气温']
},
toolbox: {//工具栏
show: true,
feature: {
mark: {
show: true
},
dataView: { //数据视图
show: true,
readOnly: false//是否只读
},
magicType: {//切换图表
show: true,
type: ['line', 'bar', 'stack', 'tiled']//图表
},
restore: {//还原原始图表
show: true
},
saveAsImage: {//保存图片
show: true
}
}
},
calculable: true,//是否启用拖拽重计算特性
xAxis: [{
type: 'category', //坐标轴类型,横轴默认为类目型'category'
boundaryGap: false,
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']//数据项
}],
yAxis: [{
type: 'value', //坐标轴类型,纵轴默认为数值型'value'
axisLabel: {
formatter: '{value} °C' //加上单位
}
}],
series: [{//设置图表数据
name: '最高气温', //系列名称,如果启用legend,该值将被legend.data索引相关
type: 'line',//图表类型
data: [11, 11, 15, 13, 12, 13, 10],
markPoint: { //系列中的数据标注内容
data: [{
type: 'max',
name: '最大值'
},
{
type: 'min',
name: '最小值'
}]
},
markLine: {//系列中的数据标线内容
data: [{
type: 'average',
name: '平均值'
}]
}
},
{
name: '最低气温',
type: 'line',
data: [1, -2, 2, 5, 3, 2, 0],
markPoint: {
data: [{
name: '周最低',
value: -2,
xAxis: 1,
yAxis: -1.5
}]
},
markLine: {
data: [{
type: 'average',
name: '平均值'
}]
}
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);</script>
</body>
</html>
其中与提示框tooltip有关的为如下代码,提示框即鼠标悬浮交互时的信息提示:
tooltip: {
trigger: 'item'
}
上述代码只设置了一个trigger属性,设置了提示框触发方式
提示框只显示该点数据,如下图所示:
我们可以看到当从当鼠标移至蓝圈所示位置时,提示框显示的内容如红框内所示,提示框只显示该点的数据即周四的最高气温为13℃。
当提示框触发方式为‘axis’时图表又是什么样的呢?下面我们来修改代码一探究竟:
我们将与提示框tooltip有关的代码改为如下代码(只修改了trigger属性):
tooltip: {
trigger: 'axis'
}
运行实例效果如下图所示:
我们可以看到当鼠标移至与上次相同的位置(蓝圈所示位置)时,提示框显示的内容与上次显示的内容不同,提示框显示了鼠标所在的那一列下所有坐标轴对应数据(最高温13,最低温5)。与上文对trigger属性的解释相对应。
还需注意的时:trigger的·默认值为‘item’。
综上,我们可以得出‘item’适用于显示当前单个数据项的提示框,‘axis’适用于显示当前横坐标下多个数据项的提示框。大家在使用的时候要根据自己的实际需求使用。
评论区(0)