编程语言
首页 > 编程语言> > javascript – jqPlot为不同的y轴对齐零

javascript – jqPlot为不同的y轴对齐零

作者:互联网

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

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

但是,我想将两个y轴的0刻度对齐到同一水平.这可能吗?

注意:有人可能会争辩说没有必要对齐,例如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' },
  ]        
});

解决方法:

我认为这肯定是jqplot中的一个错误.

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

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

您可以尝试在jqplot issues page中为此提交问题.

在此期间,为了解决您的问题,您可以通过向值添加偏移量来解决此问题,以便所有值都变为正值,然后重写轴标签以显示此偏移量差异.你可以看到example here.但是,我担心这仍然不是你想要完成的.

标签:javascript,jqplot
来源: https://codeday.me/bug/20190630/1331955.html