有一个使用 NVD3 的多图构建的堆积面积图。图表中的值可以更改,我希望 y 轴根据所选值进行缩放。
如何更新 multiChart 的 yAxis?
我已使用forceY更改其他NVD3图表中的yAxis,但forceY不适用于multiChart。
以下是几种策略。最后一个策略更改了域的值,但新值未反射(reflect)在图表上。
感谢您提供的任何帮助。
//existing domain values -- to be changed
chart.stack1.yDomain()
=> [-.1, -1.92]
//new values that I want the y axis to use
let [padStart, padEnd] = [.12, 0.27];
//DOESNT WORK - this changes the yDomain of stack1, but does not change yAxis1.domain
// chart.stack1.yDomain([padStart, padEnd]);
//DOESNT WORK - error -chart.forceY is not a function
// chart.forceY(padStart, padEnd);
//DOESNT WORK - error - chart.yAxis1.forceY is not a function
// chart.yAxis1.forceY(padStart, padEnd);
//DOESNT WORK - this does not change domain value
// chart.yAxis1.scale().domain([padStart, padEnd]);
//WORKS -- this changes domain value, but the view doesn't update
chart.yAxis1.domain([padStart, padEnd]);
最佳答案
多图的正确方法是直接访问 yDomain:
chart.yDomain([padStart, padEnd])
关于javascript - 如何更新 NVD3 多图的 y 轴?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40364536/