python 带有matplotlib的扭曲记号标签,动画

sqxo8psd  于 2023-03-16  发布在  Python
关注(0)|答案(1)|浏览(105)

在最近版本的matplotlib中,我在动画图上看到了扭曲的标签,有人看到了吗?我做错了什么吗?
最小工作示例:

from netCDF4 import Dataset
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from IPython import display

print(matplotlib.__version__)

# Make a random array of data to plot

r = np.random.rand(10,100,100)

fig, ax = plt.subplots(1,1,figsize=(10,10))

# Initiate Plot

plot = ax.pcolormesh(range(0,100), 
                    range(0,100), 
                    r[0], 
                    cmap='RdBu')

cb = fig.colorbar(plot)
cb.set_label('Temperature')

def animate(frame):
    
    C = r[frame][:-1,:-1]
    
    plot.set_array(C)

ani = animation.FuncAnimation(fig,
                              animate,
                             frames= range(0,r.shape[0]),
                             )    

video = ani.to_html5_video()
html = display.HTML(video)
display.display(html)
plt.close()

我的标签看起来像是被放置了很多次(尽管即使动画只有两帧,此错误仍然存在),它们看起来如下所示:

如果我注解掉ax.pcolormesh...下面的所有行,则不会发生这种情况,这样会创建看起来很好的静态图。
我正在使用matplotlib 3.3.2

envsm3lx

envsm3lx1#

我看了一下github的链接,发现了billbrod的回复:
我也遇到过同样的问题(我在Jupyter实验室比较v3.3.0和v3.1.0),发现rcParams ['savefig. facecolor']是'自动'的。将其改回'白色'(v3.1.0中的情况)修复了这个问题。
这可转化为:

plt.rcParams['savefig.facecolor'] = 'white'

对我来说就像一个护身符!

相关问题