Alb*_*rto 5 python matplotlib ipython ipython-notebook
我正在使用 ipython notebook 绘制带有 2 ylabels 的图,并且在 notebook 中可视化时图像看起来不错。
这是我如何做到的:
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')
Run Code Online (Sandbox Code Playgroud)
问题是当我尝试使用命令保存它时
plt.savefig('output.png', dpi=300)
Run Code Online (Sandbox Code Playgroud)
因为输出将是在右侧剪切的图像:如果正确的数字很大,基本上我看不到正确的 ylabel。
小智 6
默认情况下,matplotlib 为 x 轴和 y 轴标签以及刻度标签留下的空间非常小,因此您需要调整图形以包含更多填充。幸运的是,这并不容易做到。在调用 savefig 之前,您可以调用 call
fig.tight_layout()
plt.savefig('output.png', dpi=300)
Run Code Online (Sandbox Code Playgroud)
或者,您可以将 bbox_inches='tight' 传递给 savefig,这也会调整图形以包含所有 x 和 y 标签
plt.savefig('output.png', dpi=300, bbox_inches='tight')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15732 次 |
最近记录: |