如何在人力车中将y轴设置为固定范围?

时间:2013-08-19 22:11:14

标签: javascript d3.js rickshaw

我有数据,其中大部分值在41-44范围内,但有时会出现150-350的峰值,因此y轴会自动缩放到0-350并且图表根本不可读。

如何为y轴设置固定的最小值和最大值?我知道有些值会在“图表上方”,但这不是问题。

Here is my chart

编辑:或者我想在此图表中启用放大甚至更好,不知道如何做到这一点?

EDIT2 或者您可以建议其他简单的图表库,启用/禁用行,缩放和放大摇摄?

3 个答案:

答案 0 :(得分:9)

我多次偶然发现这个问题寻找解决方案,人力车现在通过在图构造函数中设置minmax来支持这个问题:https://github.com/shutterstock/rickshaw#rickshawgraph

答案 1 :(得分:4)

您可以尝试使用缩放的Y轴(请参阅scaled.html中的示例)。确保在系列对象和Y轴中设置比例:

var scale = d3.scale.linear().domain([41, 44]).nice();
graph = new Rickshaw.Graph({
    ...
    series: [{
        ...
        scale: scale
    }]
});
new Rickshaw.Graph.Axis.Y.Scaled({
    graph: graph,
    ...
    scale: scale
});

我没有尝试使用Rickshaw进行缩放,但如果您为用户提供控制缩放系数的方法,我认为您可以更改比例尺中的域并调用graph.update()

答案 2 :(得分:-3)

我使用了长颈鹿 - https://github.com/kenhub/giraffe,它扩展/建立在人力车之上。 您可以为图表设置“min”和“max”来设置比例。由于长颈鹿在下面使用人力车,人力车应该有类似的东西。