2015-01-08 5 views
0

У меня есть серия высоких и низких температур, которые я хотел бы отображать в диаграмме диапазона столбцов с Highcharts.Использование файла JSON в Highcharts

Я специально, как график, как показанный в демонстрационном примере по адресу: http://www.highcharts.com/stock/demo/columnrange

я разместил свои данные в файле с именем datatest.json и содержит этот текст:

[ 
[1230771600000, -5.8, 10.1], 
[1230858000000, -4.1, 1.4], 
[1230944400000, -0.5, 4.1], 
[1231030800000, -8.9, -0.7], 
[1231117200000, -9.7, -3.7], 
[1231203600000, -3.4, 3.2], 
[1231290000000, -3.9, -0.2], 
[1231376400000, -2.4, 6.7], 
[1231462800000, 3.8, 6.9], 
[1262221200000, -12.2, -6.5] 
] 

Когда я загружаю данные из файла, это не дает мне диаграмму. Например, с этим:

$(function() { 

    $.getJSON('data/datatest.json', function (data) { 

     $('#container').highcharts('StockChart', { 

      chart: { 
       type: 'columnrange' 
      }, 

      rangeSelector: { 
       selected: 2 
      }, 

      title: { 
       text: 'Temperature variation by day' 
      }, 

      tooltip: { 
       valueSuffix: '°C' 
      }, 

      series: [{ 
       name: 'Temperatures', 
       data: data 
      }] 

     }); 
    }); 

}); 

Но если я поместить данные непосредственно в мой код (как изложено ниже), это действительно показывает диаграмму, как я ожидал:

$(function() { 

     $('#container').highcharts('StockChart', { 

      chart: { 
       type: 'columnrange' 
      }, 

      rangeSelector: { 
       selected: 2 
      }, 

      title: { 
       text: 'Temperature variation by day' 
      }, 

      tooltip: { 
       valueSuffix: '°C' 
      }, 

      series: [{ 
       name: 'Temperatures', 
       data: [ 
[1230771600000, -5.8, 10.1], 
[1230858000000, -4.1, 1.4], 
[1230944400000, -0.5, 4.1], 
[1231030800000, -8.9, -0.7], 
[1231117200000, -9.7, -3.7], 
[1231203600000, -3.4, 3.2], 
[1231290000000, -3.9, -0.2], 
[1231376400000, -2.4, 6.7], 
[1231462800000, 3.8, 6.9], 
[1262221200000, -12.2, -6.5] 
] 
      }] 

     }); 

}); 

Я думаю, что я либо неправильно форматирование данных в моем файле данных или что я не читаю из файла правильно.

Любые предложения или рекомендации, которые помогут мне попасть на правильный путь, будут высоко оценены.

+0

Получаете ли вы данные, видите ли вы его в консоли? – arman1991

+1

Поскольку это не JSON, это должен быть объект {} not array. –

+0

Как @SebastianBochan заявил. Ваш JSON не в действительном формате JSON, поэтому его ввод как таковой не будет работать. См. Http://en.wikipedia.org/wiki/JSON, например, формат JSON. –

ответ

0

Кредит @SebastianBochan за то, что он обратил мое внимание на то, что мой JSON недействителен.

Вот сокращенный клип о том, что выглядит правильно отформатированный JSON как:

{ 
"data": 
[ 
[1420640460000,36.7,37.25], 
[1420640520000,37.19,37.74], 
[1420640580000,37.74,38.6], 
[1420640640000,38.72,39.33], 
[1420640700000,39.33,39.51] 
] 
} 

Я использовал JSON валидатор: http://jsonformatter.curiousconcept.com/

Это не имеет значения, называется я его «данные» или " температура "Это просто была строка, а затем, когда я ссылался на нее, мне нужно было обязательно ссылаться на нее как data.data. Если бы я назвал это «температурой», это было бы data.temperature. В любом случае, вот бит кода:

series: [{ 
     data: data.data 
    }] 
Смежные вопросы