在IPython Notebook 3中,当我使用Inline
matplotlib后端时,浏览器中的png数字具有透明背景。
如何将其设置为白色?
最小例子:
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot([1,2])
右键单击并保存图像,图像具有透明背景,我希望它是白色的。
更新
试图在figure.facecolor
中设置matplotlibrc
,但它仍显示透明的png:
import matplotlib
print("facecolor before:")
print(matplotlib.rcParams["figure.facecolor"])
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot([1,2])
print("facecolor after:")
print(matplotlib.rcParams["figure.facecolor"])
此代码作为输出:
facecolor before:
1.0
facecolor after:
(1, 1, 1, 0)
答案 0 :(得分:9)
假设透明的区域是围绕斧头(子图)的一切,你可以试试这个:
%matplotlib inline
import matplotlib.pyplot as plt
fig, ax = plt.subplots(facecolor='w')
ax.plot([1,2])
如果您希望永久保留数字中的白色背景,则需要修改matplotlibrc
文件(位于.matplotlib\
下的主文件夹中),更改这些参数:
figure.facecolor = 1
但是你总是可以通过传递facecolor
来自动保存您想要的任何背景(与创建图形时无关):
fig.savefig('filename.png', facecolor='w', transparent=False)
答案 1 :(得分:0)
另一种选择是使用seaborn
包。
跑步:
import seaborn as sns
它会自动设置绘图背景,并为matplotlib提供更好的默认颜色。