如何设置Matplotlibgraphics背景颜色的不透明度

我一直在玩Matplotlib,我不知道如何改变图的背景颜色,或者如何使背景完全透明。

如果您只是希望graphics和坐标轴的整个背景都是透明的,则只需在使用fig.savefig保存graphics时指定transparent=True fig.savefig

例如:

 import matplotlib.pyplot as plt fig = plt.figure() plt.plot(range(10)) fig.savefig('temp.png', transparent=True) 

如果您想要更细致的控制,您可以简单地设置graphics和轴背景色的facecolor和/或alpha值。 (要使补丁完全透明,我们可以将alpha设置为0,或者将facecolor设置为'none' (作为string,而不是对象None !))

例如:

 import matplotlib.pyplot as plt fig = plt.figure() fig.patch.set_facecolor('blue') fig.patch.set_alpha(0.7) ax = fig.add_subplot(111) ax.plot(range(10)) ax.patch.set_facecolor('red') ax.patch.set_alpha(0.5) # If we don't specify the edgecolor and facecolor for the figure when # saving with savefig, it will override the value we set earlier! fig.savefig('temp.png', facecolor=fig.get_facecolor(), edgecolor='none') plt.show() 

替代文字