Генерация данных для плагина Jquery JQplot из текстового файла

0

Я пытаюсь получить данные из текстового файла и генерировать график jqplot.

Проблема в том, что я не могу заставить плагин читать данные, даже если я сохраню его точно как демо-версию. Примечание: демо-данные хорошо работают с моим скриптом, это просто что-то с форматированием моих данных, которые я не могу повесить.

Большое спасибо

это мой сценарий:

    $(document).ready(function() {

var chartdata = 0;
function parseData(data){
        //do something with the data
        chartdata =  '['+data+']';
       //alert("data is: " + chartdata);

      var line1=chartdata;


  var plot1 = $.jqplot('chartdiv', [line1], {
      title:'Active Users',
      axes:{
        xaxis:{
          renderer:$.jqplot.DateAxisRenderer,
          tickOptions:{
            formatString:'%b %#d'
          } 
        },
        yaxis:{
          tickOptions:{
            formatString:'$%.2f'
            }
        }
      },
      highlighter: {
        show: true,
        sizeAdjust: 7.5
      },
      cursor: {
        show: false
      }
  });

}

$.get("userschart.txt",parseData);


});

thats мой код, строка1 var является проблемой. это исходный пример кода, который работает:

var line1=[['23-May-08', 578.55], ['20-Jun-08', 566.5], ['25-Jul-08', 480.88], ['22-Aug-08', 509.84],
['26-Sep-08', 454.13], ['24-Oct-08', 379.75], ['21-Nov-08', 303], ['26-Dec-08', 308.56],
['23-Jan-09', 299.14], ['20-Feb-09', 346.51], ['20-Mar-09', 325.99], ['24-Apr-09', 486.15]];

и это касается содержимого моего текстового файла userschart.txt:

['11-Dec-13',6],['12-Dec-13',6],['13-Dec-13',6],['14-Dec-13',6],['15-Dec-13',6]
  • 0
    У вас есть ссылка на пример, которому вы следуете? Ожидает JQplot и серию? Вы также не указываете рендерер для осей Y
  • 0
    Ахой, капитан, я передаю все из примера кода, и он работает с демонстрационными данными. вот ссылка на страницу примера: ссылка
Теги:
text-files
jqplot
data-generation

1 ответ

0
Лучший ответ

Я вижу это сейчас.

Прежде всего, проверьте, что данные являются массивом, как вы его загружаете? Предложите использовать ajax для загрузки массива данных, чтобы сервер возвращал это как массив json.

Во-вторых, эта линия виновата:

chartdata = '[' + data + ']';

Это превращает chartdata в строку. Вам это не нужно;

Просто замените эту строку

var plot1 = $.jqplot('chartdiv', [line1], {

с

var plot1 = $.jqplot('chartdiv', [data], {

И все должно быть хорошо. Если не:

1.) Проверить данные - это массив. 2.) Убедитесь, что у вас есть скобки массива вокруг переменной.

  • 0
    Не работает: / как я могу проверить, являются ли данные массивом?
  • 0
    Лучший способ - использовать отладчик в firebug или аналогичный
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню