2017-02-21 60 views

回答

1

对于在特定列内放置具有百分比的标签,您应在该系列中给出dataLabels,其余列使用在plotOptions中定义的常见dataLabels。以下代码仅供参考:Fiddle link

var data = [7, 12, 16, 32]; 
var dataSum = 0; 
for (var i = 0; i < data.length; i++) { 
    dataSum += data[i] 
} 
var data2 = [5, 19, 14, 13]; 

Highcharts.chart('container', { 
    chart: { 
    type: 'column' 
    }, 
    title: { 
    text: '' 
    }, 
    xAxis: { 
    type: 'category', 
    }, 
    yAxis: { 
    min: 0, 
    }, 
    legend: { 
    enabled: false 
    }, 
    plotOptions: { 

    column: { 
     dataLabels: { 
     enabled: true, 
     color: "black", 
     style: { 
      textOutline: false 
     } 
     } 
    } 
    }, 
    series: [{ 
    name: 'first', 
    data: data, 
    dataLabels: { 
     y: 20, /*for placeing lables values inside column*/ 
     enabled: true, 
     formatter: function() { 
     var pcnt = (this.y/dataSum) * 100; 
     return Highcharts.numberFormat(this.y , 0) +'<br>'+Highcharts.numberFormat(pcnt) + '%'; 
     } 
    } 
    }, { 
    name: 'Second', 
    data: data2, 
    }] 
}); 
+0

您可以使用dataLabels中的“inside:true”将它们放在列区域内。 –

相关问题