Хотя это старый вопрос.
Поскольку принятый ответ не работал для меня, и я не смог найти решение в документации jqPlot. Я пришел к этому решению
var series = [[1,2],[2,3]];
chartObj.replot({data:series});
Src: взглянем на функцию replot
.
function (am) {
var an = am || {};
var ap = an.data || null;
var al = (an.clear === false) ? false : true;
var ao = an.resetAxes || false;
delete an.data;
delete an.clear;
delete an.resetAxes;
this.target.trigger("jqplotPreReplot");
if (al) {
this.destroy()
}
if (ap || !L.isEmptyObject(an)) {
this.reInitialize(ap, an)
} else {
this.quickInit()
} if (ao) {
this.resetAxesScale(ao, an.axes)
}
this.draw();
this.target.trigger("jqplotPostReplot")
}
Линия
if (ap || !L.isEmptyObject(an)) {
this.reInitialize(ap, an)
}
показывает нам, что ему нужно истинное значение для передачи его в качестве первого параметра внутренней функции повторной инициализации. который определяется как var ap = an.data || null;
Это так же просто, как это, но, к сожалению, нигде не документировано, я мог найти его
Обратите внимание, что если вы хотите перерисовать некоторые вещи, определенные в опциях jqPlot, например, метки легенды, вы можете просто передать любую опцию в функцию replot. Просто помните, что реальная серия для пересадки должна называться «data»
var options = {
series : [{
label: 'Replotted Series',
linePattern: 'dashed'
}],
//^^^ The options for the plot
data : [[1,2],[2,3]]
//^^^ The actual series which should get reploted
}
chartObj.replot (options)