首页 > 解决方案 > 保存图形/绘图时,Python Matplotlib 不显示图形 facecolor

问题描述

我目前在保存颜色和 matplotlib 时遇到问题。当我运行以下代码时,我得到了预期的结果

import matplotlib.pyplot as plt

fig = plt.figure()

fig.patch.set_facecolor('black')
plt.title("test")
ax = plt.gca()
ax.patch.set_facecolor('black')
fig.patch.set_facecolor('xkcd:mint green')

plt.show()

这是显示的屏幕截图,这是我所期待的结果。

正确的输出

但是,当我通过 python 或手动单击图上的保存来运行保存功能时,它会产生下图,没有彩色边框。

在此处输入图像描述

重现上面图像的代码

import matplotlib.pyplot as plt

fig = plt.figure()

fig.patch.set_facecolor('black')
plt.title("test")
ax = plt.gca()
ax.patch.set_facecolor('black')
fig.patch.set_facecolor('xkcd:mint green')

# Also doesn't work with fig.savefig
plt.savefig("test.png", dpi=200)

标签: pythonpython-3.xmatplotlibgraphdata-visualization

解决方案


@JohanC 在评论中指出它需要面部颜色争论。

固定代码

import matplotlib.pyplot as plt

fig = plt.figure()

fig.patch.set_facecolor('black')
plt.title("test")
ax = plt.gca()
ax.patch.set_facecolor('black')

# Also doesn't work with fig.savefig
plt.savefig("test.png", facecolor='xkcd:mint green', dpi=200)

推荐阅读