2016-03-04 4 views
0

У меня есть много сценариев в прошлом, которые используют функции HighCharts, но по какой-то причине с текущим сценарием, над которым я работаю, я потерял сюжет.HighCharts не отображает график

У меня есть скрипт, который запускает запрос MySQL и производит следующий результат:

get_data.php

[{"name":"Room","data":[1267,1268,2371,1254,2374,1364,1378,1385,2372,2242,256,2237,2254,2261,2260,2273,2271,2268,2253,2379,2378,2377,2376,2233,2234,2243,2380,2383,2107,2108,2240,2246,2359,2381,2384,2361,2373,2395,1369,2398,2393,2391,2390,2387,2363,2109,2238,2239,2247,2248,2249,2251,2265,2266,2133,2117,2119,2118,2120,2106,2103,2101,2263,2389,2375,2369,2235,2258,1253,1266,1238,2264,2110,2114,2115,2394,2399]}] 

Я тогда скрипт, который вызывает script1 и должен отображать диаграмму.

Диаграмма сценария:

$(function() { 

var categories=[]; 
var data2 =[]; 


var chart; 
$(document).ready(function() { 

    $.getJSON("get_data.php", function(json) { 
    $.each(json,function(i,el) { 
    if (el.name=="Room") 
    categories = el.data; 
    else data2.push(el); 
    }); 



    $('#container1').highcharts({ 
     chart: { 
      renderTo: 'container', 
      type: 'column', 
      marginTop: 80, 
      marginRight: 30, 
      marginBottom: 100, events :{ 
        load: function(){ 
        this.series[1].hide(); 
        } 
       } 
     }, 
     title: { 
      text: '', 
      x: -20, //center 
      style: { 
      fontFamily: 'Tahoma', 
      color: '#000000', 
      fontWeight: 'bold', 
      fontSize: '11px' 
      } 
     }, 
     subtitle: { 
      text: '', 
      x: -20 
     }, 
     xAxis: { 
      categories: categories, 
      labels: { 
      style: { 
       color: '#F00', 
       font: '9px Tahoma, Verdana, sans-serif' 
      } 
      } 
     }, 
     yAxis: { 
      max:100, 
      showFirstLabel: false, 
      lineColor:'#999', 
      lineWidth:1, 
      tickColor:'#666', 
      tickWidth:1, 
      tickLength:2, 
      tickInterval: 10, 
      gridLineColor:'#ddd', 
      title: { 
       text: 'Percentage', 
       style: { 
       fontFamily: 'Tahoma', 
       color: '#000000', 
       fontWeight: 'bold', 
       fontSize: '9px' 
       } 
      }, 

       stackLabels: { 
       enabled: true, 
       y: 10, 
       formatter: function() {      
        //console.log((this.axis.series[1].yData[this.x])); 
        return (this.axis.series[1].yData[this.x]) ; 

       }, 
       style: { 
       color: '#000000', 
       font: '11px Tahoma, Verdana, sans-serif' 
       } 
      } 
     }, 

     plotOptions: { 

      series: { 
       pointWidth: 15, 
       stacking: 'normal', 
       dataLabels: { 
       enabled: true, 
       rotation: -90, 
       color: '#000000', 
       align: 'center', 
       format: '{point.y:.1f}', // one decimal 
       y: 10, // 10 pixels down from the top 
       style: { 
        fontSize: '9px', 
        textShadow: false, 
        fontFamily: 'Verdana, sans-serif' 
        } 
       } 
      } 

     }, 

     tooltip: { 
      formatter: function() { 
        return '<b>'+ this.series.name +'</b><br/>'+ 
        this.x +': '+ this.y; 
      } 
     }, 
     credits: { 
      enabled: false 
     }, 
     legend: { 
      enabled: false 
     }, 
     series: data2 

    }); 
}); 

}); 

}); 

Может кто-нибудь увидеть, где я неправильно, мне нужно найти свой потерянный участок :-) Большое спасибо в advanvce для отказа от вашего времени, чтобы помочь.

С уважением

+0

Что вы храните в ** data2 **? – allu

+0

Вы показали вывод ** get_data **, но каков вывод ** data2 **? Любые ошибки в консоли? – jlbriggs

+0

Я думаю, проблема в том, что у вас есть только одна серия в вашем json (с именем = Room). Другими словами, у вас есть данные только для категорий, но для серий также требуются некоторые данные, поэтому вы фактически будете отображать что-то на диаграмме;) –

ответ

0

Вы были правы, большое спасибо. Мне просто нужна была другая пара глаз, я думаю, что слишком долго смотрел на нее.

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