matplotlib 使用记录

1.保存图片时设置 pad_inches 去掉周围空白部分

在保持图片时,设置 bbox_inches 为 tight
plt.savefig(figpath.pdf', dpi=400, bbox_inches='tight')
可以去掉图片周围的空白部分。这一命令广为人知
但若是在插图到论文,想要进一步放大图片,以便更清晰,还可以进一步使得图片的空白部分更少:
plt.savefig(figpath.pdf', dpi=400, bbox_inches='tight', pad_inches=0.01)
这里 pad_inches 相当于在图片元素四周 pad 的空白像素的大小(单位是 inch)

参考 matplotlib 官方教程

2.调整 legend 出现的顺序以协调先前图片或者颜色设置(参见此博客)

handles, labels = ax[2].get_legend_handles_labels()
ax[2].legend(handles[::-1], labels[::-1], loc='upper right')

3. 至今还没弄明白到底如何控制 matplotlib 画出的图片的大小

figsize=[6.4*3*0.6, 6.4*0.6*0.8] 似乎只能控制 画布的大小,而 title、xlabel、ylabel 等的字号的大小的改变也会影响到最终所保存的图片的大小。
fig.subplots_adjust(wspace=0.1, hspace=0.3)
plt.savefig('./mean_loss_vs_one_epoch.pdf', dpi=400, bbox_inches='tight', pad_inches=0.01)
这些命令也会影响

4. Matplotlib 设置带有纹理的柱状图 hatch

5. Matplotlib 设置绘图风格

6. Matplotlib 设置中文论文中常用的黑白柱状图

python matplotlib 画黑白的柱状图(论文专用)

8. 设置为 ggplot 后,图片仍保存 为 pdf, 显示错误,

1.找不到字体,
2.没有模块 backends.backend_pdf
3. 索性直接报 bug, spyder 直接炸掉了,
4. 居然 anaconda 没了,/home/xxx/anaconda3 居然全部都没了,太奇怪了
5. 重新安装 anaconda3 后,一切问题都好了,也可以保存为 pdf 的了。

9. 使用 ggplot 和 seaborn-paper 格式的区别似乎是颜色稍微有一点不一样,

ggplot 对坐标轴刻度会增加一条白线,如果刻度很多的话,白线就会很密集
保存为 pdf 和 png 格式似乎会有一点不同

10 matplotlib 使用 latex 公式,
  • 需要用 r'\((x,\tilde{y})\)' , 用 r 表示 raw 原生字符,不转义,否则 \t 会被转义从而出错
  • 用 matplotlib.rcParames['text.usetex'] = True 来设置公式字符为斜体 按照此博客
posted @ 2020-01-15 10:36  Gelthin  阅读(487)  评论(0编辑  收藏  举报