gpt4 book ai didi

python - 清除图子图 matplotlib python

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:32 27 4
gpt4 key购买 nike

我编写了一个简单的 Python 函数来生成 matplotlib 图。我从一个单独的脚本中多次调用 plotData,但每次它都会生成一个新图。我想要的是始终只有一个图,其中包含类似 subplot.clear() 的内容,以清除数据更改之间的子图。

我需要一种从 plotData 外部识别图形的方法,以便我可以清除绘图以获取新数据。实现这一目标的最佳方法是什么?

## Plot Data Function
def plotData(self):

# Setup figure to hold subplots
f = Figure(figsize=(10,8), dpi=100)

# Setup subplots
subplot1=f.add_subplot(2,1,1)
subplot2=f.add_subplot(2,1,2)

# Show plots
dataPlot = FigureCanvasTkAgg(f, master=app)
dataPlot.show()
dataPlot.get_tk_widget().pack(side=RIGHT, fill=BOTH, expand=1)

最佳答案

我不确定我是否完全理解问题所在。如果你想更新情节,你需要一个执行此操作的函数。我将此函数称为 plotData。在此之前,您还需要设置情节。这就是您当前在 plotData 中拥有的内容。因此,让我们将其重命名为 generatePlot

class SomeClass():
...

def generatePlot(self):
# Setup figure to hold subplots
f = Figure(figsize=(10,8), dpi=100)

# Setup subplots
self.subplot1=f.add_subplot(2,1,1)
self.subplot2=f.add_subplot(2,1,2)

# Show plots
dataPlot = FigureCanvasTkAgg(f, master=app)
dataPlot.show()
dataPlot.get_tk_widget().pack(side=RIGHT, fill=BOTH, expand=1)

## Plot Data Function
def plotData(self, data, otherdata):
#clear subplots
self.subplot1.cla()
self.subplot2.cla()
#plot new data to the same axes
self.subplot1.plot(data)
self.subplot2.plot(otherdata)

现在您只需要在开始时调用一次generatePlot。之后,您可以随时使用新数据更新绘图。

关于python - 清除图子图 matplotlib python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42011587/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com