簡體   English   中英

重新配置matplotlib之前清除圖形

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM