Мой код для создания графика выглядит следующим образом:
var allVenues = [];
var seriesData = [];
var callGraph = function () {
var where = jQuery('#hdnVal').val();
jQuery.ajax({
url: "PopulateTable",
type: 'GET',
data: {
'where': where
},
dataType: "json",
async: false,
success: function (responseJson) {
if (responseJson != null) {
jQuery.each(responseJson, function (key, value) {
jQuery('#hdnVal').val(value['date']);
});
allVenues.push(responseJson);
}
}
});
var length = 0;
var length1 = 0;
var dataXY = [];
var dataX = [];
length = allVenues.length;
for (var i = 0; i < length; i++) {
length1 = allVenues[i].length;
for (var j = 0; j < length1; j++) {
dataX.push([returnTimestamp(allVenues[i][j].date), returnDate(allVenues[i][j].date)]);
dataXY.push({x: returnTimestamp(allVenues[i][j].date), y: allVenues[i][j].price});
}
}
seriesData = [dataXY];
} ;
callGraph() ;
var palette = new Rickshaw.Color.Palette({scheme: 'classic9'});
var graph = new Rickshaw.Graph({
element: document.getElementById("chart"),
width: 900,
height: 500,
renderer: 'area',
stroke: true,
preserve: true,
series: [
{
color: palette.color(),
data: seriesData[0],
name: 'Price'
}
]
});
graph.render();
setInterval(function () {
callGraph();
graph.series.addData(seriesData);
graph.render();
}, 5000);
В этом коде мой массив "seriesData" обновляется, но график не обновляется. Сгенерированный массив json хорош для графика во время загрузки страницы, но когда я применяю интервал, график не обновляется.
allVenues
и выполнитьgraph.series.addData()
? Это может привести к дублированию данных вgraph.series
. - person Roamer-1888   schedule 27.02.2016