# 自定義 matplotlib
> 原文:[Customizing matplotlib](http://matplotlib.org/users/customizing.html)
> 譯者:[飛龍](https://github.com/)
> 協議:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/)
## 使用樣式表自定義繪圖
`style`包為易于切換的繪圖『樣式』增加了支持,它們與`matplotlibrc`文件參數相同。
有一些預定義樣式由`matplotlib`提供。 例如,有一個名為『ggplot』的預定義樣式,它模擬`ggplot`(R 的一種流行的繪圖軟件包)的美學。 為了使用此樣式,只需添加:
```py
>>> import matplotlib.pyplot as plt
>>> plt.style.use('ggplot')
```
為了列出所有可用樣式,使用:
```py
>>> 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
```
然后,當你想要將一個為紙張設計的地圖遷移到演示文檔中時,你可以添加:
```py
>>> import matplotlib.pyplot as plt
>>> plt.style.use('presentation')
```
## 組合樣式
樣式表為組合在一起而設計。 因此,你可以擁有一個自定義顏色的樣式表和一個單獨的樣式表,用于更改演示文檔的元素大小。 這些樣式可以通過傳遞樣式列表輕松組合:
```py
>>> import matplotlib.pyplot as plt
>>> plt.style.use(['dark_background', 'presentation'])
```
請注意,右側的樣式將覆蓋已經由左側樣式定義的值。
## 臨時樣式
如果只想對特定的代碼塊使用樣式,但不想更改全局樣式,那么樣式包提供了一個上下文管理器,用于將更改限制于特定范圍。 要隔離你的樣式更改,你可以編寫以下內容:
```py
>>> 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()
```