2016-10-09 6 views

Antwort

0

die in unterschiedlicher Weise erreicht werden kann. Eine, die ich from this post genommen habe, kommt hier her.

http://jsfiddle.net/6180x5n0/1/

var positionLabels = function(chart) { 
    var series = chart.series[0], 
     dataLabelsGroup = series.dataLabelsGroup, 
     xVal; 
    Highcharts.each(dataLabelsGroup.element.children, function(d) { 
     xVal = (d.attributes.transform.value).substring((d.attributes.transform.value).indexOf('(') + 1, (d.attributes.transform.value).indexOf(',')); 
     $(d).attr('transform', 'translate(' + xVal + ',135)') 
    }) 
    }; 

Hinweis, dass diese Funktion fügt 135px auf die y-Koordinaten der Daten Etiketten.

Sie müssen entsprechend die Eigenschaften des Diagramms ändern:

 chart: { 
      type: 'pie', 
      events: { 
     load: function() { 
      positionLabels(this) 
     }, 
     redraw: function() { 
      positionLabels(this) 
     } 
     }, 
     }, 

Als Alternative, können Sie einfach festlegen möchten die y-0 der Datenreihe Etiketten Koordinate (see fiddle here). Dies wird das Diagramm flexibler machen, wenn neu gezeichnet:

  dataLabels: { 
       formatter: function() { 
        return this.y > 5 ? this.point.name : null; 
       }, 
       color: '#ffffff', 
       distance: -70, 
       y: 0 
      } 

Für weitere Lesung, es könnte dich interessieren:

Placing labels inside pie chart slices (Highchart)

+0

vielen Dank nilsole! –

Verwandte Themen