2017-02-16 2 views
0

У меня есть диаграмма, показывающая людей, денежная ценность и процент.Нужно иметь диагональные метки Highcharts по-разному для оси y

Я хотел бы показать процент в качестве datalabel вместо денежного значения .

$(function() { 
    var chart = new Highcharts.Chart({ 
     chart: { 
      renderTo: 'container', 
      type: 'bar' 
     }, 
     plotOptions: { 
      column: { 
       stacking: 'normal', 
       dataLabels: { 
        enabled: false 
       } 
      }, 
     bar: { 
      dataLabels: 
      { 
       allowOverlap:true, 
       enabled: true, 
       align: 'right', 
       overflow:"none", 
       formatter: function() { return this.y;}, 
      } 
     }    
     }, 
     xAxis: { 
      categories: ["Mary<br/>$ 4,623,450","John<br>$  1,848,380","Jane<br/>$ 640,170"] 
     }, 
     series: [{ 
      "data": [ 
       ["65%",4623450], 
       ["26%", 1848380], 
       ["9%", 640170] 
      ], 
      "name": "Session1" 
     }] 
    }); 
}); 

Итак: Мэри будет иметь datalabel 65% вместо 4623450, Джон будет иметь datalabel 26% вместо 1848380, Джейн бы datalabel 9% вместо 640170

Есть ли способ сделать это?

See jsfiddle here

ответ

0

РЕШИТЬ!

Как просто:

formatter: function() { return this.key;}, 

Полный код:

$(function() { 
var chart = new Highcharts.Chart({ 
    chart: { 
     renderTo: 'container', 
     type: 'bar' 
    }, 
    plotOptions: { 
     column: { 
      stacking: 'normal', 
      dataLabels: { 
       enabled: false 
      } 
     }, 
    bar: { 
     dataLabels: 
     { 
      allowOverlap:true, 
      enabled: true, 
      align: 'right', 
      overflow:"none", 
      formatter: function() { return this.y;}, 
     } 
    }    
    }, 
    xAxis: { 
     categories: ["Mary<br/>$ 4,623,450","John<br>$  1,848,380","Jane<br/>$ 640,170"] 
    }, 
    series: [{ 
     "data": [ 
      ["65%",4623450], 
      ["26%", 1848380], 
      ["9%", 640170] 
     ], 
     "name": "Session1" 
    }] 
}); 

});

Updated jsfiddle here

Смежные вопросы