2016-11-09 36 views
0

我一直坚持这一段时间,尽管多次尝试和大量的研究,我还没有找到解决方案。 我正在建造两个Y轴的图表。一切正常,除了高点图计算出的最大Y值总是远远高于应有值。导致缩小的图形。 我在这里复制了这个问题:http://jsfiddle.net/9vmtz3nf/Highcharts计算的最大值不能与2+ Y轴一起工作

我不能硬编码任何最大值,因为它将始终取决于从数据库进来的数据,并有一个非常宽的值可能。所以基本上,我该如何调整选项和参数,以确保图表最大值设置为最接近的刻度(jsfiddle示例中的150/600)?

预先感谢您

$(function() { 
    Highcharts.chart('container', { 
     chart: { 
      type: 'line' 
     }, 
     xAxis: { 
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
     }, 
     yAxis: [{ 
      title: { 
       text: 'Primary Axis' 
      }, 
     }, { 
      title: { 
       text: 'Secondary Axis' 
      }, 
      opposite: true 
     }], 
     plotOptions: { 
     }, 
     series: [{ 
      data: [29.9, 71.5, 106.4, 129.2, 124.0, 126.0, 135.6, 111.5, 116.4, 114.1, 95.6, 54.4] 

     }, { 
      data: [129.9, 271.5, 306.4, 29.2, 544.0, 376.0, 435.6, 348.5, 216.4, 294.1, 35.6, 354.4], 
      yAxis: 1 

     }] 
    }); 
}); 

回答

0

这是图表试图找到共同点的结果。即使你对代码max进行硬编码,图表也会以这种方式表现。

alignTicks属性设置为false将解决此问题。

chart: { 
    alignTicks: false 
} 

小提琴:

参考:

+0

感谢jlbrrigs。我已经玩过alignTicks了,是的,它的工作原理是,最大勾号设置正确,但它看起来并不好(即使我隐藏了第二轴网格线)。 我理解共同的分母逻辑,但它不能解释为什么在我的例子中这不是150/600?没有一个值超出了这个阈值 –

+0

在我的例子中,它*是* 150/600,所以我有点困惑你想要它做什么,什么看起来不好? – jlbriggs

+0

在您的示例中,右侧的Y轴标签对齐良好(尽管alignTicks被关闭),但大多数情况并非如此。你会有正确的标签不在网格线之前,这看起来不好:/ –