2013-07-08 2 views
0

В следующем коде отображается пустой график (оси и заголовок отображаются ОК, но нет данных), и я не могу понять, почему. Это не похоже на проблему с форматом данных, поскольку я следил за документацией. Регистрация параметров Firebug показывает, что «серия» имеет значение NULL.Не удается получить данные для отображения (Highstock)

var chart1; 
var data; 

options = { 
    chart: { 
    renderTo: 'container', 
     animation: Highcharts.svg,    
    },   
    rangeSelector: { 
     enabled: true 
    }, 
    navigator: { 
     enabled: true 
    }, 
    xAxis: { 
     type: 'datetime' 
    }, 
    yAxis: { //--- Primary yAxis 
     title: { 
      text: 'Volume' 
     } 
    },    
    series: [{ 
     name: 'name', 
     step: true, 
     data: data 
    }] 
}; 

console.log(options); //series is null here ! 

function readData() { 
    //using foo data here, actually getting it via AJAX, and that works OK 
    data = [[0,1],[1,2],[2,3]]; 
    alert("data created"); 

    //this checks that the data loaded OK 
    document.getElementById("result").innerHTML = ""; 

    for (var i = 0; i < data.length; i++) { 
     document.getElementById("result").innerHTML += 'Key: ' + data[i][0] + '; Value: ' + data[i][1] + "<br />"; 
    } 
    chart1 = new Highcharts.StockChart(options); 
} 

Вот что я включаю:

<head> 
    <title>Title</title> 
    <meta charset="UTF-8"> 
    <script type="text/javascript" src="XHR.js"></script><!-- unrelated (for ajax) --> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script> 
    <script src="http://code.highcharts.com/stock/highstock.js" type="text/javascript"></script> 
    <script src="http://code.highcharts.com/stock/modules/exporting.js" type="text/javascript"></script> 
    <script type="text/javascript"> ... </script> 
</head> 
+0

В вашей консоли консоли отображается какая-либо ошибка? –

+0

Нет, ни обычная консоль разработчика в Firefox, ни Firebug. – foucdeg

+0

Как я могу зарегистрировать параметры сюжета, как это сделал парень: http://stackoverflow.com/questions/10590162/highcharts-loading-data-and-not-plotting? – foucdeg

ответ

0

Конечно данные нулевой, потому что вы не asigning его вариантов, добавьте следующую строку:

options.series[0].data = data; 

ПОСЛЕ данных из AJAX приходит , Например, перед созданием диаграммы (chart1 = ...).

+1

Спасибо, на самом деле я пошел на 'data: []' и называет 'chart1.series [0] .setData (data);' в нужный момент. Работает лучше. – foucdeg

+0

Да, это тоже возможно. –

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