【发布时间】:2019-11-07 13:21:09
【问题描述】:
我有一些函数MyPlot 使用matplotlib.pyplot as plt 计算自定义绘图。
它当前将plt.figure 对象返回给父函数。
在这个父函数中,我多次调用MyPlot 来制作多个数字,比如fig1 和fig2。
如何使用父函数中的单个命令将它们绘制在单独的窗口中?
我尝试导入matplotlib.pyplot as plt,然后执行plt.show(),但它不起作用;它根本没有显示任何情节。
我也尝试了plt.show(fig1) 绘制fig1,但plt.show(fig1, fig2) 抛出错误。
【问题讨论】:
-
也许您处于交互模式 (
plt.isinteractive())?在这种情况下,您可以通过plt.show(block=True)获得阻止show。 -
@ImportanceOfBeingErnest
plt.isinteractive()返回False,但plt.show(block=True)确实工作,如果我通过plt.show(block=False),它就不起作用。奇怪! -
我担心没有minimal reproducible example,无法找出确切的原因
-
@ImportanceOfBeingErnest 呃,当我尝试创建一个最小的可重现示例时,它又开始工作了。一定是一些奇怪的边缘情况或我的 IDE 的特殊性或其他什么。我现在只使用 block=True,谢谢你的帮助。
-
可能与我两次导入 pyplot(MyPlot 在不同的模块中)有关这一事实
标签: python-3.x matplotlib figure