4

jqPlot中,我在图中呈现了两个系列。它们显示不同的数据,以不同的单位测量,因此它们都有自己的 y 轴(yaxisy2axis)。

jqPlot自动构造两个 y 轴以适应数据范围。没关系 - 我不想min, max, ticks手动设置轴,因为数据的范围可能会有很大差异。

但是,我想将0两者的刻度对齐y-axes到同一水平。这可能吗?

注意:有人可能会争辩说,没有必要将0° C温度与0 ms^-1风速对齐,因为这些值之间没有数学关系。但如果是这样的话,它看起来确实好多了,而且看起来很好是图表的重点:)

测试示例:

var data1 = [[0, 0], [3, 50]];
var data2 = [[0, 0], [3, -50]];

$.jqplot('chart', [data1, data2], {
  series: [
    { yaxis: 'yaxis' },
    { yaxis: 'y2axis' },
  ]        
});
4

1 回答 1

3

我认为这绝对是 jqplot 中的一个错误。

请参阅这三个小提琴[1][2][3]。第一个是从 jqplot 最新版本中的示例中提取的。第二个,显示默认模式,禁用 forceTickAt0 和 alignTicks。最后,第三个是相同的原始数据,但将第一个系列中的第二个数据值更改为负值。

您可以在第一个示例中看到零是如何对齐的。然而,在第三个示例中,尽管所有设置保持不变,但轴不再对齐。

您可以尝试在jqplot 问题页面中为此提交问题。

同时,为了解决您的问题,您可以通过向值添加偏移量来解决此问题,以便所有值都变为正值,然后重写轴标签以显示此偏移量差异。你可以在这里看到一个例子。但是,恐怕这仍然不是您想要完成的。

于 2012-09-08T10:58:06.550 回答