2017-02-21 36 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」將它們放在列區域內。 –

相關問題