Matplotlib 的默認顏色 以及 使用調色盤調整顏色


1. matplotlib 的默認顏色 color 方案

這里僅截取如下代碼片段:

...
colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd',   # 使用顏色編碼定義顏色
          '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']
reviews['province'].value_counts().head(10).plot.bar(color=colors)  # 使用顏色
# 上述顏色編碼對應的顏色如下圖所示,也是 matplotlib 2.0+ 版本默認的顏色

官方指南見如下兩個鏈接:

官方指南提到:

  • matplotlib 2.0 版本之后,默認顏色不再是之前的 ['b', 'g', 'r', 'c', 'm', 'y', 'k',...], 所以使用 'b' 反而是奇怪的顏色,並不能調出默認顏色 '#1f77b4'。

  • 為了與當前配色一致,可以使用 colors = ['C0', 'C1', 'C2', ...], 或者可分別用 'C0' 到 'C9' 來調用這些顏色: color='C0',參見調用默認藍色

  • 可用如下命令顯示當前程序所調用的默認顏色:
    print(plt.rcParams['axes.prop_cycle'].by_key()['color']) # rc 代表 run commands, 例如 bashrc

  • 這一網址 提供了一些可用的配色方案以及對應的顏色編碼,L*A*M*D*A-3第4次知識分享會ppt所提到。

  • 進一步參考: matplotlib cheetshit 來自 知乎


2. Matplotlib 繪圖的不同風格

sytle

3. Matplotlib 圖片的尺寸大小調節:

官方文檔: https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.figure.html

  • figsize (default: [6.4, 4.8]): 表示整張畫布的大小,單位為 inch, 1 inch = 2.54 cm
  • dpi (default: 100.0): 代表每一英寸的打印點個數,即 分辨率。 The resolution of the figure in dots-per-inch.
  • 字體大小 fontsize 是和 point 對應。參見If float, the fontsize in points.
  • 線條粗細也是與 point 對應。參見 Set the line width in points.
  • 1 point = 0.3527 毫米 = 1/72 英寸,12號字就是12磅高。

PS: figsize 代表了圖片的實際大小。
但當顯示的時候,由於屏幕(or 論文單欄)的大小是有限的,可能會對圖片進行放縮,導致圖片中字體,以及線條粗細的大小會發生視覺上的差異。
例如: [64000, 48000] 大小的圖片上 fontsize=20 號字體,與 [6.4, 4.8] 大小的圖片上 fontsize=20 號的字體顯示的大小不一致。

常用的一些代碼片段:

fig, ax = plt.subplots(2, 2, figsize=[6.4*2*0.6, 6.4*0.6]) # 畫子圖,控制畫布的大小
#fig, ax = plt.subplots(2, 3, figsize=[6.4*3*0.6, 4.8*0.6])
ax[0,0].set_ylabel('Test accuracy', fontsize=16)
ax[0,0].legend(handles[::-1], labels[::-1], loc='down right', fontsize=8)
fig.subplots_adjust(wspace=0.3, hspace=0.6)
file = 'fig1.pdf'
plt.savefig(file, dpi=400, bbox_inches='tight', pad_inches=0.01)  # 截去多余的空白

2021.5.1 更新

考慮使用不同的調色盤。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM