【GEDS-13378】葡萄城仪表盘图表如何设置动态设置Y轴最小值,最大值以及间隔值
本帖最后由 KarenGao 于 2024-4-10 16:24 编辑如图,此时数据范围基本上都在18至22之间,此时图表不是很好看,是否能动态设置最小值呢,因为下次的数据可能就是5至10之间。或者是否还有其它解决方案。
您好,我这边理解您的问题的描述如下,您看看是否正确,如果不正确,您可以追贴回复一下:
问题描述:组件的Y轴如何设置动态的最大值,最小值以及间隔值
问题解答:
组件y轴的最大值,最小值和间隔值是属性,为了使用方便,专门将对应的属性放开来让大家根据数据来进行设置,因为数据都是不确定的,所以没办法做成动态的。
Bella.Yuan 发表于 2023-9-20 18:13
您好,我这边理解您的问题的描述如下,您看看是否正确,如果不正确,您可以追贴回复一下:
问题描述:组 ...
这样的话是否可通过url的形式来设置呢,因为仪表盘图表每次是通过url集成展示的,或者是否有api的方式 本帖最后由 Felix.Li 于 2023-9-21 10:30 编辑
TQYYDS 发表于 2023-9-20 22:11
这样的话是否可通过url的形式来设置呢,因为仪表盘图表每次是通过url集成展示的,或者是否有api的方式
确实暂时没有直接通过url传递参数控制最大最小值的,但是针对这个目前这边有两种可以选择的。
首先这两种都是基于7.0的echarts扩展实现。也就是代码去动态控制显示。
1.直接控制最小值为Y的最小值
2.代码控制,在最小值小于最大值和最小值的区间差距的时候(也就是图表显示在上测的时候),控制图表刚好显示在中间
这两种都是基于代码开发,第一个比较简单,
1.Echart有现成的
设置这个即可
2.就是做一个简单的比价判断:
let minyxisx = option.series.data.value;
let maxValue = minyxisx;
option.series.forEach(allData => {
allData.data.forEach(data => {
if(minyxisx > data.value){
minyxisx = data.value
}
if(maxValue < data.value){
maxValue = data.value
}
})
})
let min = minyxisx;
let xisx = maxValue-minyxisx;
if(minyxisx>xisx){
minyxisx = minyxisx-xisx
};
option.yAxis.max = maxValue+(min-minyxisx)
option.yAxis.min = minyxisx;
return option;
两种的最终显示效果如下:
一下是我做得Demo,您可以升级7.0尝试查看:
Eden.Sun 发表于 2023-9-21 09:53
确实暂时没有直接通过url传递参数控制最大最小值的,但是针对这个目前这边有两种可以选择的。
首先这两 ...
好的,谢谢 本帖最后由 Bella.Yuan 于 2023-9-22 15:11 编辑
TQYYDS 发表于 2023-9-21 14:28
好的,谢谢
您好,您先用上面版主的回复,针对您说的这个问题,我这边也反馈一下,编号42620]
页:
[1]