我正在尝试保存一个在IPython内联中工作正常的数字,但不会将数字保存到包含轴和标题的磁盘中。
默认情况下我在matplotlibrc中使用TKAgg后端
任何想法可能会出错?我已经在IPython内联图中清楚地设置了xlabel和刻度标记。
import matplotlib.pylab as plt
x = [1,2,3,3]
y = map(lambda(x): x * 2, x)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.set_title("bleh")
ax.set_xlabel("xlabel")
ax.plot(x, y, 'r--')
fig.savefig("fig.png")
答案 0 :(得分:4)
您正在将轴设置为从图的最左下角开始并填充整个图形。轴标签或标题没有空间。试试这个:
import matplotlib.pylab as plt
x = [1,2,3,3]
y = map(lambda(x): x * 2, x)
fig = plt.figure()
ax = fig.add_axes([0.1,0.1,0.75,0.75]) # axis starts at 0.1, 0.1
ax.set_title("bleh")
ax.set_xlabel("xlabel")
ax.plot(x, y, 'r--')
fig.savefig("fig.png")
答案 1 :(得分:4)
在开始时定义 fig = plt.figure(figsize=(15,10))
,将文件另存为 .jpg 并设置 bbox_inches='tight'
- plt.savefig('filename.jpg',bbox_inches='tight', dpi=150)
为我解决了这个问题。
bbox_inches='tight'
似乎修复了裁剪问题,但对 .png 不起作用。
答案 2 :(得分:2)
我在使用Jupyter笔记本和命令时遇到了同样的问题:%matplotlib notebook。该图在笔记本中正确显示,但在使用fig.savefig()保存时没有打印轴和标题。我将%matplotlib笔记本更改为%matplotlib内联,这解决了问题。
答案 3 :(得分:1)
可能是facecolor。我在 jupyter 实验室工作,facecolor 默认设置为黑色,因此您看不到轴,即使它们正在绘制。
fig = plt.figure(facecolor=(1, 1, 1))
将背景颜色设置为白色。
答案 4 :(得分:0)
通过将格式从“png”更改为“jpg”以及参数“plt.subplots(tight_layout=True)”,我能够解决该问题(在 Visual Studio 代码 jupyter 扩展中)。