使用pyplot绘制并刷新两个独立的窗口

时间:2015-09-25 09:43:50

标签: python matplotlib

我想在两个不同的窗口中绘制两个图形,但我想要可以动态更新的图形。

此代码就是一个例子。

为什么它只在其中一个窗口上绘制?

如何解决?

谢谢

derz

enter image description here

1 个答案:

答案 0 :(得分:1)

方法add_subplot在图上创建一个Axes对象,该对象被调用。

您在fig上调用两次,因此请获取相同的Axes对象。

请尝试:

import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
fig_norm = plt.figure()
fig.show()
fig_norm.show()
ax_fig = fig.add_subplot(1, 1, 1)
ax_fig_norm = fig_norm.add_subplot(1, 1, 1)
ax_fig.set_title("Figure 1", fontsize='large')
ax_fig_norm.set_title("Figure Normalized", fontsize='large')

plt.ion()

while True:
    x = np.random.rand(100)
    y = np.random.rand(100)
    ax_fig.plot(x, y)
    ax_fig_norm.plot(x*3, y*3)
    fig.canvas.draw()
    fig_norm.canvas.draw()