2017-02-21 1 views
0

Ich wollte zwei Etiketten auf Balken anzeigen. Ich kann jetzt ein Etikett anzeigen. Ich will so etwas.Zeige zwei Beschriftungen für jede Leiste in Highcharts (eine innen und eine außen)

enter image description here

Stattdessen erhalte ich wie dieser enter image description here

der Code-Snippet, das ich die Etiketten zeigen, bin mit ist

plotOptions: { 

          column: { 
           dataLabels: { 
            enabled: true, 
            color: "black", 
            style: { 
             textOutline: false 
            } 
           } 
          } 
         } 

Wie kann ich diesen Prozentwert auf den Balken zeigen? Danke im Voraus.

Antwort

1

Für die Plazierung des Etiketts mit Prozentangabe innerhalb der jeweiligen Spalte geben Sie dataLabels innerhalb dieser Serie ein, für den Rest der Spalte verwenden Sie dataLabels, wie von Ihnen in plotOptions definiert. Im Folgenden Code für Idee ist nur 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

können Sie "inside: true" verwenden in dataLabels sie innerhalb der Spaltenbereich zu haben. –

Verwandte Themen