期刊論文寫作之【python matplotlib 畫圖設置】

在用python繪圖的過程中,由於期刊的要求,需要自己做一些額外操作,比如:

  1. 怎麼改變圖的大小?
  2. 怎麼設置存儲圖片的分辨率?
  3. 怎麼設置圖上的字體及大小?
  4. 怎麼解決存儲的圖片信息不完整的問題(e.g. 橫縱座標的標籤沒有保存下來)?

接下來,我用一個例子,對以上問題進行闡述。

import matplotlib.pyplot as plt
from matplotlib.pyplot import figure
import numpy as np

figure(num=None, figsize=(2.8, 1.7), dpi=300)
# figsize的2.8和1.7指的是英寸,dpi指定圖片分辨率。那麼圖片就是(2.8*300)*(1.7*300)像素大小

plt.plot(test_mean_1000S_n, 'royalblue', label='without threshold')
plt.plot(test_mean_1000S, 'darkorange', label='with threshold')
# 畫圖,並指定顏色

plt.xticks(fontproperties = 'Times New Roman', fontsize=8)
plt.yticks(np.arange(0, 1.1, 0.2), fontproperties = 'Times New Roman', fontsize=8)
# 指定橫縱座標的字體以及字體大小,記住是fontsize不是size。yticks上我還用numpy指定了座標軸的變化範圍。

plt.legend(loc='lower right', prop={'family':'Times New Roman', 'size':8})
# 圖上的legend,記住字體是要用prop以字典形式設置的,而且字的大小是size不是fontsize,這個容易和xticks的命令弄混

plt.title('1000 samples', fontdict={'family' : 'Times New Roman', 'size':8})
# 指定圖上標題的字體及大小

plt.xlabel('iterations', fontdict={'family' : 'Times New Roman', 'size':8})
plt.ylabel('accuracy', fontdict={'family' : 'Times New Roman', 'size':8})
# 指定橫縱座標描述的字體及大小

plt.savefig('F:/where-you-want-to-save.png', dpi=300, bbox_inches="tight")
# 保存文件,dpi指定保存文件的分辨率
# bbox_inches="tight" 可以保存圖上所有的信息,不會出現橫縱座標軸的描述存掉了的情況

plt.show()
# 記住,如果你要show()的話,一定要先savefig,再show。如果你先show了,存出來的就是一張白紙。

讓我們看看出來的效果:
matplotlib畫圖示意

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章