有一个使用NVD3的multichart构建的堆积区域图表。图表中的值可以更改,我希望y轴根据所选值进行缩放。
如何为multiChart更新yAxis?
我使用forceY更改了其他NVD3图表中的yAxis,但forceY不适用于multiChart。
以下是几种策略。最后一个策略会更改域的值,但新值不会反映在图表上。
感谢您提供的任何帮助。
//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]);
答案 0 :(得分:1)
multichart的正确方法是直接访问yDomain:
chart.yDomain([padStart, padEnd])