我的数据大部分值都在 41-44 范围内,但偶尔会有 150-350 的峰值,因此 y 轴自动缩放到 0-350,图表根本不可读。
如何设置 y 轴的固定最小值和最大值?我知道有些值会“高于”图表,但这不是问题。
编辑:或者我想在这个图表中启用放大,这会更好,知道怎么做吗?
EDIT2:或者你可以建议其他简单的图表库,启用/禁用线条、缩放和平移?
我的数据大部分值都在 41-44 范围内,但偶尔会有 150-350 的峰值,因此 y 轴自动缩放到 0-350,图表根本不可读。
如何设置 y 轴的固定最小值和最大值?我知道有些值会“高于”图表,但这不是问题。
编辑:或者我想在这个图表中启用放大,这会更好,知道怎么做吗?
EDIT2:或者你可以建议其他简单的图表库,启用/禁用线条、缩放和平移?
我多次偶然发现这个问题寻找解决方案,Rickshaw 现在通过设置min
和max
在图形构造函数中支持这一点:https ://github.com/shutterstock/rickshaw#rickshawgraph
您可以尝试使用缩放的 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()
.
我使用了 Giraffe - https://github.com/kenhub/giraffe,它扩展/构建在人力车之上。有了它,您可以为图表设置“最小值”和“最大值”来设置比例。由于长颈鹿在下面使用人力车,所以人力车上应该有类似的东西。