蟒蛇实时绘图,重新更新



我想有两个图(#1,#2(。我想在数据出现时更新图#1,然后更新图#2。在此之后,我可能想返回并更新情节#1。但是,我无法更新情节#1。有什么帮助吗?

这是我的源代码。

import matplotlib.pyplot as plt
import numpy as np
a = np.random.random(10)
b = np.random.random(10)
plt.subplot(311)
for i in range (10):
y = a[i]
x = b[i]
plt.scatter(x,y)
plt.pause(0.05)

plt.subplot(312)
for i in range (10):
x = a[i]
y = b[i]
plt.scatter(x,y)
plt.pause(0.05)
# update plot #1, but this doesn't work
aa = np.random.random(20)
bb = np.random.random(20)
plt.subplot(311)
for i in range (20):
y = aa[i]
x = bb[i]
plt.scatter(x,y)
plt.show()

plt.subplot用于创建新的子图。如果您不仅想在创建子图后直接访问不同的子图,请选择

fig, axs = plt.subplots(2)

用于首先创建具有所有子图的图形。 然后你可以用

axs[0].plot(...)
axs[1].plot(...)
axs[0].plot(...)

这同样适用于 2D 图数组的plt.subplots(nrows, ncols)。那么axs也是一个 2D 数组。

除此之外,plt.subplots有一种非常方便的方法可以通过 kwargssharexsharey来定义共享轴,这可以是['all', 'row', 'col', 'none']之一。

最新更新