我试着用多个数据序列在高图表中创建一个图表,每个系列都有不同的y轴。这可以很好地使用线性图表的标准功能(y轴定义数组)。然而,当y轴之一被定义为对数时,网格线和轴标签就会变得不对齐。
JSFiddle代码演示问题:JSFiddle
我希望“降雨”轴在与“温度”轴上的标签相对应的位置上有标签。我可以简单地设置gridLineWidth: 0以隐藏视图中的违规网格线,但是标签仍然不对齐。有什么简单的方法可以解决这个问题吗?我尝试过使用tickPositioner功能来解决这个问题,但它似乎是一个看似常见问题的复杂解决方案。
发布于 2014-07-02 13:08:14
最后,我使用tickPositioner函数为我的问题创建了一个可行(但不理想)的解决方案:
tickPositioner: function () {
if (this.tickInterval > .5) {
return null;
}
else {
var myInterval = (this.max - this.min) / 5;
return [this.min, this.min + myInterval, this.min + 2 * myInterval, this.min + 3 * myInterval, this.min + 4 * myInterval, this.max];
}
}if子句检查HighCharts库是否会自动将滴答间隔设置为10的幂(间隔已经相等),如果没有,只需手动将滴答按设定的间隔设置(在本例中,为5个均匀间隔的滴答)。这适用于日志刻度,因为滴答位置值是在取对数之前设置的--允许偶数间隔滴答值在日志图上均匀间隔。
发布于 2014-06-26 09:58:44
它们没有排列的原因是你的逻辑轴没有从零开始。在日志轴上不可能有零,但可以通过设置1的最小值来接近。
, { // Secondary yAxis
min:1,但是,如果您想强制使用最小值和最大值,我认为您必须使用tickPositioner或tickPositions。
tickPositions:[Math.log(24)/Math.log(10),Math.log(42)/Math.log(10),Math.log(73)/Math.log(10),Math.log(129)/Math.log(10),Math.log(225)/Math.log(10),Math.log(400)/Math.log(10)],https://stackoverflow.com/questions/24416416
复制相似问题