最好的我發現這樣做是通過訪問畫布本身並直接繪製,就像這樣:
// Get the axis, so that we can figure out what canvas coordinates
// correspond to our plot coordinates
xAxis = plot.getXAxes()[0];
yAxis = plot.getYAxes()[0];
// determine how much space flot left on the edges of the graphs
offset = plot.getPlotOffset();
// get the context, so that we can draw on the canvas
ctx = plot.getCanvas().getContext("2d");
// Convert our coordinates to canvas coordinates
x1 = xAxis.p2c(plotX) + offset.left;
y1 = yAxis.p2c(plotY) + offset.top;
// draw a translucent, red rectangle
ctx.fillStyle = "rgba(200,0,0,.1)";
ctx.fillRect (x1, y1, 5, 5);
當然,這不會讓你爲部分點的任何訪問但是如果您只需要將很多點添加到一個情節而不重繪整個情節,那麼這是一種方法。
你可以舉一些jqPlot的例子代碼嗎?我閱讀您發佈的幫助頁的方式,我必須添加一個系列(包含一個點),然後重新繪製該系列。但是,我無法得到這個工作。 – richarddmorey 2012-01-07 15:59:52
看來HighCharts的addPoint方法會重繪整個圖表。我不想使用flot的原因是因爲它重繪了圖表,所以addPoint沒有幫助。 – richarddmorey 2012-01-07 18:54:57
@ user1129889,請參閱編輯... – Mark 2012-01-07 21:23:21