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+ 版本默認的顏色
官方指南見如下兩個鏈接:
- https://matplotlib.org/3.1.1/users/dflt_style_changes.html
- https://matplotlib.org/users/dflt_style_changes.html#colors-color-cycles-and-color-maps
官方指南提到:
-
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 更新
考慮使用不同的調色盤。
- scatter() 函數的顏色設置: https://blog.csdn.net/gaocui883/article/details/108136081
- 注意到 colormap 這個設置的作用: https://blog.csdn.net/gaocui883/article/details/108136081
有時我們希望圖表元素的顏色與數據集中某個變量的值相關,顏色隨着該變量值的變化而變化,以反映數據變化趨勢、數據的聚集、分析者對數據的理解等信息,這時,我們就要用到 matplotlib 的顏色映射(colormap)功能,即將數據映射到顏色 - colormap 相當於浮點數 [0,1] 編碼的顏色條,不同於 color https://blog.csdn.net/sinat_32570141/article/details/105226330