从ipython笔记本保存绘图会生成剪切图像
我正在用ipython笔记本绘制一个2个1Label的绘图,当在笔记本中可视化时,图像看起来很好 我是这样做的:从ipython笔记本保存绘图会生成剪切图像,python,matplotlib,ipython,ipython-notebook,Python,Matplotlib,Ipython,Ipython Notebook,我正在用ipython笔记本绘制一个2个1Label的绘图,当在笔记本中可视化时,图像看起来很好 我是这样做的: import matplotlib.pyplot as plt fig, ax1 = plt.subplots() plt.title('TITLE') plt.xlabel('X') plt.plot(x, y1, '-', color='blue', label='SNR') ax1.set_ylabel('y1', color='blue') for tl in ax1.
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots()
plt.title('TITLE')
plt.xlabel('X')
plt.plot(x, y1, '-', color='blue', label='SNR')
ax1.set_ylabel('y1', color='blue')
for tl in ax1.get_yticklabels():
tl.set_color('blue')
ax2 = ax1.twinx()
plt.plot(x, y2, '--', color='red', label='Ngal')
ax2.set_ylabel('y2', color='red')
for tl in ax2.get_yticklabels():
tl.set_color('red')
问题是当我试图用命令保存它时
plt.savefig('output.png', dpi=300)
由于输出将是右侧剪切的图像:基本上,如果正确的数字较大,我看不到正确的y标签。默认情况下,matplotlib为x轴和y轴标签和记号标签留出的空间非常小,因此需要调整图形以包含更多的填充。幸运的是,要做到这一点并不容易。在调用savefig之前,您可以调用
fig.tight_layout()
plt.savefig('output.png', dpi=300)
或者,您可以将bbox_inches='tight'传递给savefig,savefig还将调整图形以包括所有x和y标签
plt.savefig('output.png', dpi=300, bbox_inches='tight')
在执行savefig
命令之前,尝试fig.tight_layout()