【问题标题】:how to update y axis for NVD3's multichart?如何更新 NVD3 的多图的 y 轴?
【发布时间】:2016-11-01 16:41:12
【问题描述】:

有一个使用 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]);

【问题讨论】:

    标签: javascript d3.js data-visualization nvd3.js


    【解决方案1】:

    multichart的正确做法是直接访问yDomain:

    chart.yDomain([padStart, padEnd])

    【讨论】:

    • 这是唯一的方法吗?我看到了一个与为 multichart 设置 forceY 相关的变更集,但不明白如何实现它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 2015-11-17
    相关资源
    最近更新 更多