matplotlib 使用簡明教程(七)-樣式定義
定義 matplotlib 樣式文件
官網提供了一份 matplotlibrc 文件的樣例參考,這裏不作贅述:
使用樣式文件
默認樣式文件的使用
matplotlib 會在以下地方搜索名稱爲 matplotlibrc
的這個文件,一旦找到就會停止繼續搜索並使用該文件內定義的樣式作爲默認樣式
- 當前工作目錄
- $MATPLOTLIBRC 定義的文件或文件夾內
- 用戶自定義的配置文件位置,可以通過
matplotlib.get_configdir()
來查詢,通過 $MPLCONFIGDIR 環境變量設置 - INSTALL/matplotlib/mpl-data/matplotlibrc,其中 INSTALL 是 matplotlib 安裝的位置
可以通過 matplotlib.matplotlib_fname()
查詢當前使用的默認樣式文件
matplotlib 使用某種樣式
plt.style.use()
- 參數可以是一個 URL 或者路徑,指向自己定義的 mplstyle 文件
- 可以把自己的 mplstyle 文件放到 mpl_configdir/stylelib 文件夾下,這樣就能通過文件的名稱來使用定義的樣式,其中 mpl_configdir 可以通過
matplotlib.get_configdir()
來查詢 - 參數也可以是一個列表,這樣就會整合多個 mplstyle 中的樣式
查詢當前可用的樣式列表
plt.style.available
在某個塊內使用某種樣式
plt.style.context()
使用方式見示例:
with plt.style.context(('dark_background')):
plt.plot(np.sin(np.linspace(0, 2 * np.pi)), 'r-o')
plt.show()
直接定義樣式參數
matplotlib.rcParams
這個全局字典裏存放了大量的樣式定義,可以直接修改。
直接設置 matplotlib.rcParams
mpl.rcParams['group.key'] = value
和 mpl.rc(group, key1 = value2, key2 = value2)
直接設置 matplotlib.rcParams 字典裏某個 group 的某個 key 爲 value,例如:
rc('lines', linewidth=2, color='r')
rcParams['lines.linewidth'] = 2
rcParams['lines.color'] = 'r'
恢復默認的配置狀態
mpl.rcdefaults()
和 matplotlib.rc_file_defaults()
其中 rcdefaults()
是恢復成 matplotlib 內建的樣式,rc_file_defaults()
是恢復成最初導入的 rc 文件定義的樣式。
在各類繪製函數中定義樣式d
matplotlib 的繪製函數有很多,每個函數支持的樣式定義也各不相同,大部分文檔都有說明。
但是有的函數參數,官方文檔也沒有描述清楚。給大家一個小技巧,就是看一下這個函數的返回值類型,看一下這個類型的描述文檔,這裏會有最全的樣式定義。
舉個例子:
>>> help(plt.plot) # 查看 plt.plot 函數幫助
>>> lines = plt.plot([1, 2, 4, 8])
>>> lines
[<matplotlib.lines.Line2D object at 0x11b762390>]
>>> line = lines[0]
>>> help(line) # 查看 matplotlib.lines.Line2D 的幫助
有些時候函數的樣式定義是“複合”的,例如 line 可以定義 linewidth, linestyle, color, marker 等屬性,但是某些函數直接使用了“複合”參數來一次性定義多個屬性。
例如 plt.plot
函數使用 fmt 參數, plt.stem
函數使用了 linefmt, markerfmt, basefmt 參數
這些“複合”參數,可用的內容基本是固定的:
線的樣式 | 描述 |
---|---|
'-' |
實線 |
'--' |
槓線 |
'-.' |
點槓線 |
':' |
點線 |
標記點的樣式 | 描述 |
---|---|
'.' |
點 |
',' |
無 |
'o' |
圓 |
'v' |
下三角 |
'^' |
上三角 |
'<' |
左三角 |
'>' |
油三角 |
'1' |
下三角 |
'2' |
上三角 |
'3' |
左三角 |
'4' |
油三角 |
's' |
方形 |
'p' |
五邊形 |
'*' |
星形 |
'h' |
六邊形1 |
'H' |
六邊形2 |
'+' |
加號 |
'x' |
叉號 |
'D' |
鑽石 |
'd' |
細鑽石 |
'\|' |
短豎線 |
'_' |
短橫線 |
顏色的樣式 | 描述 |
---|---|
'b' |
藍色 |
'g' |
綠色 |
'r' |
紅色 |
'c' |
青色 |
'm' |
品紅 |
'y' |
黃色 |
'k' |
黑色 |
'w' |
白色 |
系列文章:
matplotlib 使用簡明教程(一)-基礎概念:
https://blog.csdn.net/fenghuizhidao/article/details/79352882
matplotlib 使用簡明教程(二)-常用圖表
https://blog.csdn.net/fenghuizhidao/article/details/83090043
matplotlib 使用簡明教程(三)-一些專業圖表簡介
https://blog.csdn.net/fenghuizhidao/article/details/83090165
matplotlib 使用簡明教程(四)-輔助性元件
https://blog.csdn.net/fenghuizhidao/article/details/83090249
matplotlib 使用簡明教程(五)-畫布、圖表、元素基礎操作
https://blog.csdn.net/fenghuizhidao/article/details/83090320
matplotlib 使用簡明教程(六)-圖像、動畫相關
https://blog.csdn.net/fenghuizhidao/article/details/83090512
matplotlib 使用簡明教程(七)-樣式定義
https://blog.csdn.net/fenghuizhidao/article/details/83090553