Я пытаюсь получить данные из текстового файла и генерировать график 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]
Я вижу это сейчас.
Прежде всего, проверьте, что данные являются массивом, как вы его загружаете? Предложите использовать ajax для загрузки массива данных, чтобы сервер возвращал это как массив json.
Во-вторых, эта линия виновата:
chartdata = '[' + data + ']';
Это превращает chartdata в строку. Вам это не нужно;
Просто замените эту строку
var plot1 = $.jqplot('chartdiv', [line1], {
с
var plot1 = $.jqplot('chartdiv', [data], {
И все должно быть хорошо. Если не:
1.) Проверить данные - это массив. 2.) Убедитесь, что у вас есть скобки массива вокруг переменной.