本節書摘來異步社群《python資料可視化程式設計實戰》一書中的第1章,第1.9節,作者:【愛爾蘭】igor milovanović,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
python資料可視化程式設計實戰
本節介紹matplotlib使用的各種配置檔案的位置,以及使用這些配置檔案的意義。同時還将介紹配置檔案中的具體配置項。
如果不想在每次使用matplotlib時都在代碼開始部分進行配置(像前一節我們做的那樣),就需要為不同的項目設定不同的預設配置項。本節将介紹如何做到這一點。這種配置方式使得配置項與代碼分離,進而使代碼更加整潔。此外,你可以很容易在同僚間甚至項目間分享配置模闆。
假設一個項目對于matplotlib的特性參數總會設定相同的值,就沒有必要在每次編寫新的繪圖代碼時都進行相同的配置。取而代之的,應該是在代碼之外,使用一個永久的檔案設定matplotlib參數預設值。
通過matplotlibrc``來配置檔案,matplotlib提供了對這種配置方式的支援。在matplotlibrc檔案中包含了絕大部分可以變更的屬性。
配置檔案可能存在于三個不同的位置,而它們的位置決定了它們的應用範圍。這三個位置分别說明如下。
目前工作目錄:即代碼運作的目錄。在目前目錄下,可以為目錄所包含的目前項目代碼定制matplotlib配置項。配置檔案的檔案名是matplotlibrc。
使用者級.matplotlib/matplotlibrc檔案(per user .matplotlib/matplotlibrc):通常是在使用者的$home目錄下(在windows系統中,也就是documents and settings目錄)。可以用matplotlib.get_configdir()指令來找到目前使用者的配置檔案目錄。請參考随後的指令示例。
安裝*級配置檔案(per installation configuration file):*通常在python的site-packages目錄下。這是系統級配置,不過在每次重新安裝matplotlib後,配置檔案會被覆寫。是以如果希望保持持久有效的配置,最好選擇在使用者級配置檔案中進行設定。對于筆者來說,目前對本配置檔案的最佳應用方式,是将其作為預設配置模闆。如果在使用者級配置檔案已經比較混亂,或者需要為新項目做全新配置時,可以基于該配置檔案進行設定。
在shell中運作下面的指令,即可列印出配置檔案目錄的位置:
配置檔案包括以下配置項。
axes:設定坐标軸邊界和表面的顔色、坐标刻度值大小和網格的顯示。
backend:設定目标輸出tkagg和gtkagg。
figure:控制dpi、邊界顔色、圖形大小和子區(subplot)設定。
font:字型集(font family)、字型大小和樣式設定。
grid:設定網格顔色和線型。
legend:設定圖例和其中文本的顯示。
line:設定線條(顔色、線型、寬度等)和标記。
patch:是填充2d空間的圖形對象,如多邊形和圓。控制線寬、顔色和抗鋸齒設定等。
savefig:可以對儲存的圖形進行單獨設定。例如,設定渲染的檔案的背景為白色。
text:設定字型顔色、文本解析(純文字或latex标記)等。
verbose:設定matplotlib在執行期間資訊輸出,如silent、helpful、debug和debug-annoying。
xticks和yticks:為x、y軸的主刻度和次刻度設定顔色、大小、方向,以及标簽大小。