我有两个要绘制在子图中的数字:
fig = plt.figure()
ax1 = fig.add_subplot(1,2,1)
ax2 = fig.add_subplot(1,2,2)
假设 ax1 将填充一个添加点的动画(散点图)。然后 Ax2 将这些点合并到网格中并显示密度。
我可以在 subplot 1 中显示动画,并在完成后将密度图像添加到 subplot2 中吗?
我有两个要绘制在子图中的数字:
fig = plt.figure()
ax1 = fig.add_subplot(1,2,1)
ax2 = fig.add_subplot(1,2,2)
假设 ax1 将填充一个添加点的动画(散点图)。然后 Ax2 将这些点合并到网格中并显示密度。
我可以在 subplot 1 中显示动画,并在完成后将密度图像添加到 subplot2 中吗?
这应该是可能的。请看一下这个例子。您还可以检查上一个问题:
使用 matplotlib 和 pyplot 的 2D 坐标的简单动画
下面是一个示例实现。第二个图被隐藏,直到第一个图停止渲染:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
def update_line(num, data, line, img):
line.set_data(data[...,:num])
if num == 24:
img.set_visible(True)
return line, img
fig1 = plt.figure()
data = np.random.rand(2, 25)
ax1=plt.subplot(211)
l, = plt.plot([], [], 'rx')
plt.xlim(0, 1)
plt.ylim(0, 1)
plt.xlabel('x')
plt.title('test')
ax2=plt.subplot(212)
nhist, xedges, yedges = np.histogram2d(data[0,:], data[1,:])
img = plt.imshow(nhist, aspect='auto', origin='lower')
img.set_visible(False)
line_ani = animation.FuncAnimation(fig1, update_line, 25,
fargs=(data, l, img),
interval=50, blit=True)
line_ani.repeat = False
plt.show()