[英]Clearing graph before replotting matplotlib
我有一個小應用程序,它允許我使用tKinter比例小部件更改輸入值,並查看圖形如何響應輸入中的不同更改。 每次移動秤時,它都會綁定到一個事件,該事件將重做列表和重繪的計算。 有點慢。
現在,我將重新繪制整個內容,但是使用幾分鍾后,它會將一個軸堆疊在另一個軸上。
deltaPlot = Figure(figsize=(4,3.5), dpi=75, frameon=False)
c = deltaPlot.add_subplot(111)
c.set_title('Delta')
deltaDataPlot = FigureCanvasTkAgg(deltaPlot, master=master)
deltaDataPlot.get_tk_widget().grid(row=0,rowspan=2)
和主循環運行
c.cla()
c.plot(timeSpread,tdeltas,'g-')
deltaDataPlot.show()
它正在清除初始圖,但是就像我說的那樣,軸正在堆疊(因為它每次都重繪一個軸,對應於稍微改變的數據點)。 有人知道解決方法嗎?
要提高速度,您可以做幾件事:
任一運行remove
上由曲線所產生的線的方法:
# inside the loop
line, = c.plot(timeSpread,tdeltas,'g-')
deltaDataPlot.show()
...
line.remove()
或重新使用該線,適當地更新其坐標:
# outside the loop
line, = c.plot(timeSpread,tdeltas,'g-')
# inside the loop
deltaDataPlot.show()
line.set_data(timeSpread,tdeltas)
Line2d的文檔可以在這里找到。
高溫超導
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.