应用场景,有时候需要使用echarts在图形上绘制一条平行于Y轴的平行线用来分割x轴的前后数据,在查文档时遇到一些问题,
特意在这里记录下来,也是分享一下所得
其中基准线使用配置项markline,而markline配置项是在options的series数组对象数据中,配置项层级结构是这样的
options=>series=>markLine: {
itemStyle: {
normal: { lineStyle: { type: 'dashed', color: 'rgb(10,10,255)' } ,label:{formatter:'预报依据时间'}}//设置基线名称和样式
},
large: true,
data: [
{ name: '预报依据时间', xAxis: this.curveXdate(new Date(new Date().setHours(0, 0, 0, 0)).getTime() + 8 * 60 * 60 * 1000) },// 这里xAxis的值是X轴坐标
]
}
在这里我用了两个Y轴展示数据信息,所以这里也介绍一下,配置信息是在options的yAxis数组中
yAxis: [
{
type: 'value',
name:'水位',
min: function (value) {
return Math.floor(value.min * 0.97);
},
max: function (value) {
return Math.floor(value.max * 1.1);
}
},
{
type: 'value',
name:'流量',
min: function (value) {
return Math.floor(value.min * 0.97);
},
max: function (value) {
return Math.floor(value.max * 1.1);
}
}
],
可以看到这里在yAxis中声明了两个对象,这两个对象其实就是两个Y轴数据,而如何让X轴数据信息对应到不同的Y轴
这里也要配置一下,我们应该都知道图形展示的数据是在series数组对象中,而每个数组对象默认采用的都是yAxis的第一个数组对象Y轴,所以这里我们要在series数组对象中添加配置项==》 yAxisIndex: 1,这样就能让数据信息找到对应的Y轴