0

我正在尝试使用带有 matplotlib 的树冠中的 ipython 来准备图形(后端设置为 qt)。我在终端中逐行编写了以下代码

import matplotlib.pyplot as plt
fig = plt.figure()
s = fig.add_subplot(1,1,1)

在第二行之后,我可以看到正在制作的数字。但是在第三行之后,我看不到正在创建子图。但是,如果我打印无花果,则可以在内联和创建的图形窗口中看到子图。如果我尝试缩放,这个子图也会神奇地出现。每次我在图中绘制一些东西时都会发生类似的事情。在我打印图形或尝试使用 GUI 工具修改视图之前,会一直显示旧版本。这真的很烦人。如果有人能告诉我问题出在哪里,那就太好了。

编辑:尝试使用 fig.show() 不起作用。另外,当我直接使用 plt.plot() 时,似乎没有问题。只有当我使用 fig 或其任何子图时才会出现问题

4

2 回答 2

0

类型: fig.show()当您需要更新它时。

于 2013-07-17T20:28:42.850 回答
0

当涉及到交互式绘图时,您应该尝试使用fig.canvas.draw()而不是使用fig.show() 。

import matplotlib.pyplot as plt
fig = plt.figure()
fig.show()
## should show an empty figure ##
s = fig.add_subplot(1,1,1)
fig.show()
## things stay unchanged ##
fig.canvas.draw()
## things should be OK now ##
于 2016-10-31T23:20:46.583 回答