天天看點

Matplotlib 中文使用者指南 6 自定義 matplotlib自定義 matplotlib

自定義 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()