2013-07-18 22 views
15

我使用flot庫創建了一系列圖,這些圖都顯示在單個頁面上。有沒有辦法更新X軸最小和最大選項(options.xaxis.min,options.axis.max)值而不重繪陰謀($ .plot('placeholder',data,options))?使用Flot JQuery庫更改現有圖上的最小/最大軸

我發現這個解決方案:http://osdir.com/ml/flot-graphs/2012-02/msg00064.html 這表明以下行會做到這一點,但它不適用於我 - 根據此調用,可見最小和最大值不會修改圖表。

monitorGraph.getOptions().xaxes[0].max = xaxis.max; 

有關更新圖形xaxis max和min值的任何提示將不勝感激!

編輯:解下面

下面的代碼將利用現有的情節,更新是可見的範圍內,並在一個很輕的和有效的方式重新繪製。

  plot.getOptions().xaxes[0].min = time.start; 
      plot.getOptions().xaxes[0].max = time.end; 
      plot.setupGrid(); 
      plot.draw(); 
+0

要指定futher:我想該地塊以反映新的x的最小值和最大值,但我不希望再情節他們完全,因爲這是非常昂貴的,似乎在放緩這一進程。 – jfaghihnassiri

回答

12

在您設置y軸最大高度的價值,嘗試

yourPlot.setupGrid(); 

不知道,如果你想它會是那樣順利,但我認爲它的伎倆。

+0

這幫了很多!每次調用.plot都有重大改進。謝謝! – jfaghihnassiri

+0

哎呀,乍一看似乎是 myPlot.setupGrid(); 也不會以任何方式在視覺上更新繪圖。有任何想法嗎? – jfaghihnassiri

+0

嗯,我去了flot的網站,只是在控制檯裏四處亂跑。也許嘗試setupGride然後也嘗試繪製()? –

10

您也可以動態修改MIN/MAX參數軸選項:

plot.getAxes().xaxis.options.min = 0; 
plot.getAxes().xaxis.options.max = 999; 

plot.setupGrid(); 
plot.draw();