HighCharts - 条形图中的Y轴填充

时间:2013-04-08 21:59:19

标签: javascript highcharts

我使用一种y轴标签样式,其中每个数字左对齐放置在各自的水平网格线上,如下图所示。

HighCharts中唯一的复杂功能是轴标签有时会与柱形图中的第一列重叠。

更新了演示例如,请参阅此图表:http://jsfiddle.net/NWsgz/1/

y-axis issue in highcharts

我尝试使用xAxis.minpadding实现此目的,但该属性似乎对柱形图没有影响。在Highcharts中有没有办法获得我想要的效果?理论上我可以通过使条形非常窄来获得效果,但我正在寻找另一种解决方案。

3 个答案:

答案 0 :(得分:12)

我想出了一个解决方法,但它并不完美。

  1. 使用yAxis.offset
  2. 将yAxis与图表分开
  3. 使用超长刻度线来模拟向左延伸的网格线
  4. 像这样:

    yAxis: {
      offset: 30,
      tickLength: 30, // Same value as offset
      tickPosition: "inside",
      tickWidth: 1,
      tickColor: "black", // The same as your gridLine color
      labels: { 
        align: 'left',
        x: 0,
        y: -8 // Position labels above their gridLine/tickMark
      }
    }                                   
    

    有关演示,请参阅http://jsfiddle.net/supertrue/NWsgz/2/

    为什么不理想

    我希望我的gridLines使用短划线样式(例如dashStyle: 'longdash'),但似乎没有办法将短划线样式应用于刻度线。

    我很想知道是否有办法做到这一点,或者更好的解决方法。

答案 1 :(得分:4)

它不适用于分类轴 - 在该类型中,轴被分为相同的类别,因此不允许使用最小/最大填充。

可能的解决方案是使用标准轴,但对轴使用formatter,请参阅:http://jsfiddle.net/NWsgz/4/

答案 2 :(得分:0)

您可以为yAxis http://api.highcharts.com/highcharts#yAxis.offset

使用偏移参数