2016-02-26 4 views
0

У меня возникает проблема с отображением значений оси y в графике. Это мой код:Графическая диаграмма Highcharts не отображает значения yaxis

var options = { 
      chart: { 
       renderTo: 'charts_container', 
       type: 'column' 
      }, 
      title: { 
       text: selecte_company+' '+duration+' '+selecte_branch+' '+selected_menu 
      }, 
      colors: ['#ABD373', '#FFD285', '#EC5657'], 
      legend: { 
       itemStyle: { 
        color: '#737979' 
       } 
      }, 
      xAxis: { 
       categories: xAxis 
      }, 
      yAxis: { 
       title: { 
        text: yAxis 
       } 
      }, 
      plotOptions: { 
       column: { 
        pointPadding: 0.2, 
        borderWidth: 0 
       } 
      }, 
      series: [{}] 
     }; 
     $.getJSON(dataLink, function(data) { 
     console.log("data"); 
     console.log(data); 
     console.log(data.length); 
     console.log(data[0].data.length); 
      if (data[0].data.length == 0) { 
       $('#charts_container').html('<p id="defalip";>No data found..</p>'); 
      } else { 
       options.series = data; 
       var chart = new Highcharts.Chart(options); 
      } 
     }); 

И мой JSON является:

[{"name":"value1","data":[[0.91]]},{"name":"valur4 %","data":[[42.63]]}] 

enter image description here

Я хочу, чтобы показать мои данные, как это:

enter image description here

ответ

1

Если посмотреть по вашим данным [{"name":"value1","data":[[0.91]]},{"name":"valur4 %","data":[[42.63]]}] у вас есть name установлен на valueXXX - это то, что будет показано на xAxis. Если вы хотите, чтобы ваш график выглядел как пример осадков, лучше было бы взглянуть на фактический code, используемый для его рендеринга. Вы можете видеть, что Есть несколько серий:

series: [{ 
    name: 'Tokyo', 
    data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 

}, { 
    name: 'New York', 
    data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3] 

}, { 
    name: 'London', 
    data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2] 

}, { 
    name: 'Berlin', 
    data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1] 
}] 

А также определение того, что категории XAxis являются:

xAxis: { 
    categories: [ 
    'Jan', 
    'Feb', 
    'Mar', 
    'Apr', 
    'May', 
    'Jun', 
    'Jul', 
    'Aug', 
    'Sep', 
    'Oct', 
    'Nov', 
    'Dec' 
    ], 
    crosshair: true 
}, 

В своем коде вы имеете

xAxis: { 
     categories: xAxis 
    }, 

Я не где вы определяете свой список xAxis.

Чтобы воспроизвести график, подобный демоверсии, вам понадобится создать несколько серий и создать массив xAxis.categories, чтобы сохранить то, что каждая точка каждой серии будет иметь в качестве метки xAxis.

+1

Хотя все хорошие моменты, я не думаю, что это отвечает на вопрос о том, почему на оси y нет меток (чего я тоже не знаю). Кажется, есть проблема форматирования данных, которая может быть частью проблемы хотя) – jlbriggs

+0

@jlbriggs Согласен. Казалось, что ФП был на неправильной ноге. Вероятно, это как-то связано с их «категориями: xAxis». – wergeld

+0

Я не думаю, что это проблема форматирования данных, см .: http://jsfiddle.net/8n7q2fyd/ Но я предполагаю, что где-то OP использует 'Highcharts.setOptions()', который устанавливает значения по умолчанию, такие как formatters и т. Д. Просто скриншот диаграммы выглядит странно - перевод всех ярлыков (xAxis.category и yAxis.title). –