2013-02-27 46 views
0

我想让我的数据标签在列顶部如果列正在向上或底部如果列正在下降现在与此代码其对齐的左侧在中间。aligning datalabel to column highcharts

plotOptions: { 
     series: { 
     stacking: 'normal', 
      dataLabels: { 
       align: 'top', 
       enabled: true, 
       formatter: function() { 
        return this.y.toFixed(2) +' %'; 
       } 
      } 
     } 
    }, 

我该怎么做?另外,如果高位图显示的列不如文本宽,我将如何检查并将文本放在列上?

回答

2

通过翻译功能,您可以将数据标签“移动”到负列的底部。

http://jsfiddle.net/wMLg6/33/

var datalabel; 

     $.each(chart.series[0].data,function(j,data){ 
      if(data.y < 0) 
      { 
       datalabel = data.dataLabel; 
       datalabel.translate(datalabel.x,data.plotY-20); 
      } 
     }); 
+0

这一工程,但我会怎么检查,看看是否该标签将贴合在列整齐? – 2013-03-01 17:24:54

+0

我不确定你的意思,它如何更好地工作? – 2013-03-04 09:07:10