我想要两个图(#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()
答案 0 :(得分:1)
plt.subplot
用于创建新的子图。如果您不仅要在创建子图后立即访问它们,请选择
fig, axs = plt.subplots(2)
用于首先创建具有所有子图的图形。 然后你可以用
axs[0].plot(...)
axs[1].plot(...)
axs[0].plot(...)
plt.subplots(nrows, ncols)
也适用于绘图的二维数组。那么axs
也是2D数组。
除此之外,plt.subplots
具有非常方便的方式,可以通过kwargs sharex
和sharey
来定义共享轴,它们可以是['all', 'row', 'col', 'none']
之一。