自定義 matplotlib
原文: Customizing matplotlib 譯者: 飛龍 協定: CC BY-NC-SA 4.0
使用樣式表自定義繪圖
style
包為易于切換的繪圖『樣式』增加了支援,它們與
matplotlibrc
檔案參數相同。
有一些預定義樣式由
matplotlib
提供。 例如,有一個名為『ggplot』的預定義樣式,它模拟
ggplot
(R 的一種流行的繪圖軟體包)的美學。 為了使用此樣式,隻需添加:
>>> import matplotlib.pyplot as plt
>>> plt.style.use('ggplot')
為了列出所有可用樣式,使用:
>>> print(plt.style.available)
定義你自己的樣式
你可以建立自定義樣式,并通過以樣式表的路徑或 URL 調用
style.use
來使用它們。 或者,如果将
<style-name> mplstyle
檔案添加到
mpl_configdir /stylelib
中,你可以通過調用
style.use(<style-name>)
重複使用自定義樣式表。 預設情況下
mpl_configdir
應該是
~/.config/matplotlib
,但你可以使用
matplotlib.get_configdir()
檢查你的位置,你可能需要建立這個目錄。 請注意,如果樣式具有相同的名稱,
mpl_configdir/stylelib
中的自定義樣式表将覆寫由
matplotlib
定義的樣式表。
例如,你可能想要使用以下指令建立
mpl_configdir/stylelib/presentation.mplstyle
:
axes.titlesize : 24
axes.labelsize : 20
lines.linewidth : 3
lines.markersize : 10
xtick.labelsize : 16
ytick.labelsize : 16
然後,當你想要将一個為紙張設計的地圖遷移到示範文檔中時,你可以添加:
>>> import matplotlib.pyplot as plt
>>> plt.style.use('presentation')
組合樣式
樣式表為組合在一起而設計。 是以,你可以擁有一個自定義顔色的樣式表和一個單獨的樣式表,用于更改示範文檔的元素大小。 這些樣式可以通過傳遞樣式清單輕松組合:
>>> import matplotlib.pyplot as plt
>>> plt.style.use(['dark_background', 'presentation'])
請注意,右側的樣式将覆寫已經由左側樣式定義的值。
臨時樣式
如果隻想對特定的代碼塊使用樣式,但不想更改全局樣式,那麼樣式包提供了一個上下文管理器,用于将更改限制于特定範圍。 要隔離你的樣式更改,你可以編寫以下内容:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>>
>>> with plt.style.context(('dark_background')):
>>> plt.plot(np.sin(np.linspace(0, 2 * np.pi)), 'r-o')
>>>
>>> # Some plotting code with the default style
>>>
>>> plt.show()