Skip to main content
 首页 » 编程设计

Python 添加文本到 matplotlib.image.AxesImage 实例

2025年05月04日16mengfanrong

我有这段代码用于从一系列矩阵创建一系列图像,并且在每个图像中我想添加一个特定的文本。这是我的典型代码:

ax = axes([0,0,1,1]) 
 
for i in range(0,5): 
    text(1,1,str(i)) 
    ax.imshow(a[:,:,i],origin='lower') 
    savefig(str("%04d" % int(i))+'.png',format="png") 
    del ax.texts[-1]  

但问题是随着迭代次数的增加,速度会下降,变得非常慢。后台开很多窗口好像有问题。

有什么建议吗?

请您参考如下方法:

不是创建新的图像和文本对象,而是每个循环重用这些对象。

ax = axes([0,0,1,1]) 
t = text(1,1,str(0)) 
img = ax.imshow(a[:,:,0],origin='lower') 
 
for i in range(0,5): 
    t.set_text(str(i) 
    img.set_data(a[:,:,i]) 
    savefig(str("%04d" % int(i))+'.png',format="png") 

另见

Visualization of 3D-numpy-array frame by frame