首页 > 解决方案 > Matplotlib动画blitting:黑色区域

问题描述

这是一个绘制启用 blit 的动画的代码。

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation

def update_fig(num, data, plot, ax) :
    text = None
    if num % 2 == 0 :
        text = ax.text(0.5, 0.5, str(num), horizontalalignment='center', verticalalignment='center', transform=ax.transAxes,size=15)
    plot.set_array(data[:, :, num %1500].ravel())
    if text : 
        return pp_color, text,
    else :
        return pp_color,

fig, ax = plt.subplots()
data = np.random.rand(60, 50, 1500)
pp_color = plt.pcolormesh(data[:,:, 0], cmap = 'Reds', vmin=np.amin(data), vmax=np.amax(data))
cbar = plt.colorbar()
t1 = cbar.ax.set_title('t1')
plt.axis('equal')
ax.text(0.5, -0.1, 'footnote text', horizontalalignment='center', transform=ax.transAxes,)
t2 = ax.set_title("t2")
line_ani = animation.FuncAnimation(fig, update_fig,
                                   interval=0.1, blit=True, fargs=(data, pp_color, ax))
plt.show()

当我运行脚本时,我得到了:在此处输入图像描述

我必须调整窗口大小才能显示标题和颜色条。当我评论动画代码时,第一个图框正确显示。

如何在不调整大小的情况下正确显示我的图形?

标签: pythonmatplotlib

解决方案


推荐阅读