14

我正在尝试保存一个在 IPython 内联中可以正常工作的图形,但没有将图形保存到包含轴和标题的磁盘中。

我在 matplotlibrc 中默认使用 TKAgg 后端

任何想法这里可能出了什么问题?我已经清楚地设置了 xlabel 和刻度线在 IPython 内联图中正常工作。

   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")

不带坐标轴标签的 Savefig 图像

4

5 回答 5

11

在开始时定义fig = plt.figure(figsize=(15,10)),将文件保存为 .jpg 并设置bbox_inches='tight'-plt.savefig('filename.jpg',bbox_inches='tight', dpi=150)为我解决了这个问题。 bbox_inches='tight'似乎可以解决裁剪问题,但不适用于 .png。

于 2021-02-12T15:50:22.287 回答
6

您将轴设置为从图形的最左下角开始并填充整个事物。轴标签或标题没有空间。尝试这个:

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")

显示轴的绘图

于 2013-10-24T21:03:38.160 回答
5

可能是面色。我在 jupyter 实验室工作,并且 facecolor 默认设置为黑色,因此即使正在绘制轴,您也看不到轴。

fig = plt.figure(facecolor=(1, 1, 1))

将背景颜色设置为白色。

于 2021-05-03T12:45:07.147 回答
4

我在使用 Jupyter notebook 和命令时遇到了同样的问题:%matplotlib notebook。该图在笔记本中正确显示,但使用 fig.savefig() 保存时未打印轴和标题。我将 %matplotlib notebook 更改为 %matplotlib inline 并解决了问题。

于 2017-10-17T17:16:03.247 回答
3

我能够通过将格式从“png”更改为“jpg”以及参数“plt.subplots(tight_layout=True)”来解决问题(在 Visual Studio 代码 jupyter 扩展中)。

于 2021-07-12T14:49:26.267 回答