2014-10-12 22 views
0

我正在做一個數值優化,我想在每次迭代時將目標函數的loss可視化,這意味着當每次迭代完成時,我需要添加一個點。動態地繪製Matplotlib中的優化結果

我以爲這可能是一個matplotlib.animation工作,但看起來animation只是更新了一段時間interval,這不是我想要的。

搜索完後,我確實找到了tricky solution,但是有沒有更好的方法?

+0

使用'set_ * data'和'draw'方法不是太複雜 - 它不適合你嗎?如果你認爲更高性能的版本太複雜,你可以考慮pyqtgraph。 – mdurant 2014-10-12 13:03:50

+0

@mdurant,適用於'ax.plot'的東西,但是'ax.scatter'呢? – Alcott 2014-10-12 13:07:48

回答

0

設置就地分散的數據,你需要做到以下幾點:

pc = ax.scatter(x, y, ...) 

和修改:

px.set_offsets(xnew, ynew) 

調用枯萎平局(慢)或塊傳輸方法之前你鏈接。