我想有两个图(#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
有一种非常方便的方法可以通过 kwargssharex
和sharey
来定义共享轴,这可以是['all', 'row', 'col', 'none']
之一。