2017-02-20 5 views
1

Ich benutzte highcharts, um mir die Zahl der Anrufe von der Datenbank zu zeigen, und ich möchte auch Zitat von einer Datenbank verwenden, um mir den Prozentsatz als eine Datenlabel anzuzeigen. Das Problem ist in Highcharts y zeigt die Anzahl der Aufrufe und x zeigt die Namen in xAxis gespeichert und wenn ich quote direkt in PlotOptions aufrufen: Format wie dieses Format: [{{quote | roh}}], es zeigt alle Werte aus der Datenbank in jedem lebel.Wie man datelebels formatter in highcharts setzt

// Create the chart 
$(function() { 
    var i = 0; 
    var caller = [ 
     { name: 'calls', data:[{{ calls }}] }, 
    ] 

    Highcharts.chart('container', { 
     chart: { 
      type: 'column' 
     }, 
     title: { 
      text: 'EASy call {{ date|date("d.m.Y") }}' 
     }, 
     subtitle: { 
      text: '' 
     }, 
     xAxis: { 
     categories: [{{callPoint | raw}}], 
    }, 
    plotOptions: { 
     series: { 
      borderWidth: 0, 
      dataLabels: { 
       enabled: true, 
       format: '{y} %' 
      } 
     } 
    }, 
    tooltip: { 
     headerFormat: '<span style="font-size:11px">{series.name}</span><br>', 
     pointFormat: '<span style="color:{point.color}">calls</span>: <b>{point.y:.2f}</b> <br/>' 
    }, 
     series: caller 
    }); 
}); 

ist es möglich, etwas zu tun, wie ich in highcharts brauche? oder irgendeine Anregung?

Antwort

0

Für Beispiel - JSFiddle

dataLabels: { 
    enabled: true, 
    formatter: function() { 
     return this.y +' '+this.x + ' '+this.series.name; 
    } 
} 

Für die Datenwerte als lebel mit JSFiddle

dataLabels: { 
    enabled: true, 
    formatter: function() { return this.series.data[0].y; } 
} 

Von Highcharts Referenz

this.percentage Nur gestapelte Serien und Torten. Der Punkt ist Prozentsatz der Gesamtsumme.

this.point Das Punktobjekt. Der Punktname, falls definiert, ist , verfügbar über this.point.name.

this.series Das Serienobjekt. Der Serienname ist verfügbar unter this.series.name.

this.total Nur gestapelte Serien. Der Gesamtwert an diesem Punkt ist x Wert.

this.x Der x-Wert.

this.y Der y-Wert.

+0

Vielen Dank, aber das ist nicht genau das, was ich brauche. –

+0

@TonGok: Sie können 'formatter: function() {' nach Ihrem Wunsch ändern –

+0

ich weiß, wie man x + y, aber ich muss extra x von anderen Daten für die erste x zu den datelebels –