首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高图表:y轴网格线不对齐

高图表:y轴网格线不对齐
EN

Stack Overflow用户
提问于 2014-06-25 18:56:12
回答 2查看 2.5K关注 0票数 3

我试着用多个数据序列在高图表中创建一个图表,每个系列都有不同的y轴。这可以很好地使用线性图表的标准功能(y轴定义数组)。然而,当y轴之一被定义为对数时,网格线和轴标签就会变得不对齐。

JSFiddle代码演示问题:JSFiddle

我希望“降雨”轴在与“温度”轴上的标签相对应的位置上有标签。我可以简单地设置gridLineWidth: 0以隐藏视图中的违规网格线,但是标签仍然不对齐。有什么简单的方法可以解决这个问题吗?我尝试过使用tickPositioner功能来解决这个问题,但它似乎是一个看似常见问题的复杂解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-02 13:08:14

最后,我使用tickPositioner函数为我的问题创建了一个可行(但不理想)的解决方案:

代码语言:javascript
复制
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个均匀间隔的滴答)。这适用于日志刻度,因为滴答位置值是在取对数之前设置的--允许偶数间隔滴答值在日志图上均匀间隔。

票数 0
EN

Stack Overflow用户

发布于 2014-06-26 09:58:44

它们没有排列的原因是你的逻辑轴没有从零开始。在日志轴上不可能有零,但可以通过设置1的最小值来接近。

代码语言:javascript
复制
 , { // Secondary yAxis
        min:1,

http://jsfiddle.net/4LKW2/

但是,如果您想强制使用最小值和最大值,我认为您必须使用tickPositioner或tickPositions。

代码语言:javascript
复制
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)],

http://jsfiddle.net/SWrd6/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24416416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档