python反复运行清空plot图_Python Matplotlib:图形窗口未打开时清除图形

在Python的Matplotlib库中,作者遇到一个问题,即在关闭交互模式后,无法正常清除图形。尽管使用`fig.clear()`方法,但在交互模式关闭的状态下,图形清除操作似乎无效,导致即使调用`fig.show()`,旧的绘图仍然显示。问题可能与关闭交互模式有关,因为这改变了图形更新和显示的行为。作者尝试了将清除命令封装到类方法中,但依然未能解决问题。
摘要由CSDN通过智能技术生成

我正在使用matplotlib绘图,并使用ioff()关闭交互模式,以禁止在创建figrue时自动打开绘图窗口。我想要完全控制图形,并且只在明确使用show()命令时才能看到它。在

现在很明显,清除数字和坐标轴的内置命令已经不能正常工作了。在

示例:import numpy as np

import matplotlib.pyplot as mpp

class PlotTest:

def __init__(self,nx=1,ny=1):

# Switch off interactive mode:

mpp.ioff()

# Create Figure and Axes:

self.createFigure(nx, ny)

def createFigure(self,nx=1,ny=1):

self.fig, self.axes = mpp.subplots(nx,ny)

if nx*ny == 1:

self.axes = np.array([self.axes])

def linePlot(self):

X = np.linspace(0,20,21)

Y = np.random.rand(21)

self.axes[0].plot(X,Y)

P = PlotTest()

P.linePlot()

P.fig.show()

现在我想我可以随时使用P.fig.clear()来清除{},但显然不是这样。在

直接将P.fig.clear()写入脚本并一起执行它,它起作用了,我看到的只是一个空数字。然而,这是相当没有意义的,因为我从来没有看到过真正的情节。在

在控制台中手动执行P.fig.clear()不会执行任何操作,无论绘图窗口是否打开,所有其他可能的命令也会失败:

^{pr2}$

将命令包装到类方法中也不起作用:def clearFig(self):

self.fig.clear()

编辑=================

在clear()fig.axes为空后,show()仍然显示旧的绘图,轴仍在绘制中。在

/编辑=================

是因为我关掉了互动模式吗?在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值