2013-02-08 54 views
1

http://jsfiddle.net/nUCBj/1/HighCharts DataLabels Overlap

如何防止数据标签重叠?我已经尝试使用格式化程序选项并使用CSS位置/顶部/底部等来定位dataLabel ...数据标签是必需的。我不能只使用工具提示中它的位置:-)

谢谢

$(function() { 
var chart = new Highcharts.Chart({ 
    chart: { 
     renderTo: 'container' 
    }, 
    xAxis: { 
     categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
    }, 

    plotOptions: { 
     series: { 
      dataLabels: { 
       enabled: true, 
       backgroundColor: 'rgba(255, 255, 255, 0.7)', 
       borderWidth: 1, 
       shadow: true, 
       borderRadius: 1, 
       useHTML: true, 
       padding: 1 
      } 
     } 
    }, 

    series: [{ 
         name: 'test', 
     data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] },{ 
      name: 'test2', 
     data: [31, 80, 106.4, 22, 150, 17, 135.7, 14, 230, 181, 9, 54] 
    }] 
}); 

});

回答

1

该系列中的数据属性可以作为一个对象数组而不是数组数组传递。每个对象都可以定义它自己的dataLabels选项(http://api.highcharts.com/highcharts#series.data)。对于第一个系列,您可以将点对齐到左侧,第二个点到右侧,以便它们不重叠。

+0

好的,我遵循你的建议和链接。不幸的是,我正在做的工作是将数据推到X和Y坐标图上。所以数据看起来像这样[[x,y],[x,y]等]。我怎样才能应用DataLabels属性?我在JFiddle上尝试过它,但无法使它工作。这里是我的链接:[链接](http://jsfiddle.net/vm34W/1/) – 2013-02-08 21:49:05

+0

它应该是很好,如果我可以做这样的事情,而不是(但只有如果它的工作):[链接](http: //jsfiddle.net/nUCBj/2/) – 2013-02-08 21:52:03

+0

通过nice(from above),我的意思是align:function(){... – 2013-02-08 21:53:27