对齐堆栈标签

问题描述:

我遇到了堆栈标签问题。我有他们旋转-90度,我已经设置对齐左侧和垂直对齐底部。但由于某种原因,标签与每列的底部对齐,但并不像我预期的那样。文本标签的中心对齐底部,而不是标签的第一个字母。有没有办法完成我想要的,而无需手动计算每个单独堆栈标签的y偏移量?如果不是,我该如何最好地做那些烦人的计算?对齐堆栈标签

见附表小提琴:

$(function() { 
    $('#container').highcharts({ 
     chart: { type: 'column' }, 
     title: { text: '' }, 
     xAxis: { categories: [""] }, 
     yAxis: [{ 
      title: { text: '', style: { color: '#4572A7'} }, 
      labels: { 
       formatter: function() { return Highcharts.numberFormat(this.value, 0) + " USD" }, 
       style: { color: '#4572A7' } 
      }, 
      stackLabels: { 
      enabled: true, 
      style: { fontSize: '1.5em', fontWeight: 'bold', color: 'black' }, 
      formatter: function() { return this.stack; }, 
      rotation: -90, x: -5, 
      verticalAlign: 'bottom', 
      align: 'left' 
     }}], 
     legend: { borderWidth: 1, shadow: false }, 
     plotOptions: { 
      column: { stacking: 'normal' }, 
      series: { shadow: false} 
     }, 
     series: [{ data: [34, 34, 54, 12, 23], stack: 'Stack 1' }] 
    }); 
}); 

http://jsfiddle.net/Zprjn/6/

干杯!

编辑

这是什么其实我有一个简化版本。在我的真实图表中,我有动态内容,因此堆栈标签中有不同的文本,并且各列具有不同的高度。这些都不是我事先知道的,因此我需要以某种方式动态调整堆栈标签到列的底部(和列的左边),而不管实际标签中文本的长度。

再次感谢!

我想通了!我不得不指定

textAlign: 'left' 

以及固定它!

查看更新的jsfiddle:

http://jsfiddle.net/Zprjn/9/

您可以更改:

verticalAlign: 'middle' 

例子:http://jsfiddle.net/Zprjn/7/

,或者如果你想在底部,添加:

y: -40 

例子:http://jsfiddle.net/Zprjn/8/

+0

谢谢您的回答,是的,你在这个perticular和简化的情况下是正确的。但我的问题是,我在图中有动态内容,因此堆栈标签都带有不同的文本,事先并不知道文本是什么,所以我不能用像40那样的固定y坐标来调整它们。至于“ verticalAlign:'middle'也不起作用首先,因为我希望文本从列的底部开始向上,但也因为该对齐将使文本被放置在不同的高度,甚至是小图列之外的图形。 – Bearcosta 2013-05-14 17:45:42