2016-11-18 6 views
0

Могу ли я создать диаграмму, подобную этой, с помощью Highcharts? Настроить Highcharts xaxis label

На самом деле я сделал нечто подобное с Highcharts, но у меня возникла проблема, когда я настраивал ярлык Highcharts xaxis, может ли кто-нибудь помочь мне в этой части?

$(function() { 
 
    Highcharts.chart('container', { 
 
     chart: { 
 
      type: 'bar' 
 
     }, 
 
     title: { 
 
      text: null 
 
     }, 
 
     xAxis: { 
 
      categories: ['VISIONLINK', 'PRODUCT LINK WEB', 'CAT DAILY', 'NOT CONNECTED'], 
 
      title: { 
 
       text: null 
 
      }, 
 
    \t \t \t \t \t lineColor: 'transparent', 
 
      minorTickLength: 0, 
 
    \t \t \t \t \t tickLength: 0, 
 
     \t \t labels: { 
 
      useHTML: true, 
 
      formatter: function() { 
 
       return '<strong class="hc-label">' + this.value + '</strong>'; 
 
      } 
 
     } 
 
     }, 
 
     yAxis: { 
 
      min: 0, 
 
      title: { 
 
       text: null, 
 
       align: 'high' 
 
      }, 
 
      labels: { 
 
       enabled: false, 
 
      }, 
 

 
      minorTickLength: 0, 
 
    \t \t \t \t \t tickLength: 0, 
 
      gridLineColor: 'transparent', 
 
      
 
      
 
     }, 
 
     tooltip: { 
 
      enabled: false 
 
     }, 
 
     plotOptions: { 
 
      bar: { 
 
       dataLabels: { 
 
        enabled: true, 
 
        align: 'right', 
 
        color:'black', 
 
        x: 30 
 
       } 
 
      }, 
 
      series: { 
 
       stacking: 'normal', 
 
       \t pointWidth: 50, 
 
       pointPadding: 0, 
 

 
      } 
 
     }, 
 
     legend: { 
 
      enabled:false 
 
     }, 
 
     credits: { 
 
      enabled: false 
 
     }, 
 
     series: [{ 
 
      
 
      name: 'VISIONLINK', 
 
      data: [20,null,null,null] 
 
     }, { 
 
      
 
      name: 'PRODUCT LINK WEB', 
 
      data: [null,40,null,null] 
 
     }, { 
 
      
 
      name: 'CAT DAILY', 
 
      data: [null,null,200,null] 
 
     }, 
 
     { 
 
      name: 'NOT CONNECTED', 
 
      data: [null,null,null,40] 
 
     }] 
 
    }); 
 
});
.hc-label { 
 
    background-color: #efefef; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.highcharts.com/highcharts.js"></script> 
 
<script src="https://code.highcharts.com/modules/exporting.js"></script> 
 

 
<div id="container" style="min-width: 310px; max-width: 800px; height: 400px; margin: 0 auto"></div>

Смотрите мой DEMO

ответ

0

Это достижимо, но я думаю, что насмешливые этикетки со второй серией может быть проще, чем настройка меток осей непосредственно.

Конфигурация для серии, которая подражает метки выглядит следующим образом:

, { 
    color: '#efefef', 
    enableMouseTracking: false, 
    showInLegend: false, 
    data: [ 
    ['VISIONLINK', 50], 
    ['PRODUCT LINK WEB', 50], 
    ['CAT DAILY', 50], 
    ['NOT CONNECTED', 50] 
    ], 
    dataLabels: { 
    format: '{key}' 
    } 
} 

пример: http://jsfiddle.net/g3asmfj7/3/

+0

Отлично! Это очень умное решение! благодаря! – Mars