Closed luna2216 closed 4 years ago
1、感觉你这个图单 Y 轴更适合,两个 Y 轴更不能第一时间判断那条线对应的是右边这个轴。 2、个人认为你 expect 的这个结果不太合适,因为我看到例子中对应右边 Y 轴的数据只有一条折线。如果有两条折线对应右边的 Y 轴,在通过 legend 隐藏一条的时候,为了更好的展示,会动态调整 Y 轴的 range, 那么再隐藏剩下的一条时,你期待 Y 轴的坐标是保留两条线时的情况呢,还是保留一条线时的情况呢 ?请看示例
所以我感觉可能要想一个更好的 expect result
哦,对了,如果你不想让那个轴的数值发生变化,可以通过设置 scale 的 min 和 max 来固定它。
业务场景是两个数据是有相关性的,但数值范围及单位是不一样的,所以要用双Y轴展示在一个图里。 你提到的有两条线对应右侧Y轴,去勾选其中一条当前的实现就是OK的,有问题的是当两条数据都去勾选时,我举例里只有一条数据只是为了方便复现问题。 这里两个Y轴可以认为是相互独立的,如果当一个轴的数据全都没有勾选的话,应该和所有数据全部去勾选时是一致的,当前f2所有数据全部去勾选时和全部勾选时展示的坐标轴是一样的,这个逻辑应该是要统一的。 至于通过scale去固定,那我要首先要在f2外处理返回数据,而且为了和其他坐标轴逻辑保持一致,还要去吧f2的内部对数据进行nice的处理拷贝一份出来在。
嗯,我可能偏向于当一个 Y 轴相关的数据取消勾选的时候,这个 Y 轴隐藏掉。
对,如果不想隐藏的话,那么就设置下 min, max
Reproduction link
https://codepen.io/luna_2216/pen/xxxogrB?editors=0010
Steps to reproduce
点击图例,把任意一个数据勾选
What is expected?
Y坐标轴与所有数据都均去勾选时一致
What is actually happening?
被去勾选的Y坐标轴变成[-1, 0, 1, 2]
https://github.com/antvis/f2/blob/master/src/chart/chart.js#L685 此处不应该值判断filteredData是否为空,还应该判断是否存在有field字段的数据