首頁 >後端開發 >Python教學 >Python視覺化學習:Matplotlib的配置詳細介紹

Python視覺化學習:Matplotlib的配置詳細介紹

高洛峰
高洛峰原創
2017-03-26 16:29:522434瀏覽

Matplotlib是個優秀的視覺化函式庫,它提供了豐富的介面,讓Python的視覺化落地顯得非常容易上手。本系列是本人學習python視覺化的學習筆記,主要用於監督自己的學習進度,同時也希望和相關的博友們進行交流。
由於本人是一名在職的數據分析師而並非開發人員,學習Python視覺化主要是為了解決日常工作過程中遇到的數據自動視覺化的問題。因此,學習計劃打算是從基礎入手(高手勿噴),使用的書籍為《python可視編程實踐》這本書。整個學習計畫是先按照這本書過一遍基礎,然後根據實際使用過程中遇到的問題再去查手冊或搜尋專門的解決方案。

作為本系列的第一章,我專注於記錄了matplotlib的有關配置方式和內容。

1. Matplolib 預設參數的配置

  • Matplotlib的許多參數都是透過.rc檔來進行配置的,並且已經為大部分的屬性配置了預設的數值。自己可以根據需求對各種預設屬性進行必要的調整。

  • 在程式碼執行的過程中,可以透過兩種方式來更改運行的參數。

    • 使用字典(rcParams)進行參數的配置:在程式碼的運行過程中呼叫rcParams(一個字典)對字典中的對應參數進行調整。

    • 呼叫matplotlib.rc() 函數:透過向matplotlib.rc()傳入屬性元組來修改組態項目。

    • 如果需要配置動態修改後的設定參數,可以呼叫matplotlib.rcdefaults()將配置重設為標準配置。
      以下兩段程式碼實作的效果一樣,但採用的方式有所差異:

      # 采用的matplotlib.rcParams的例子:import matplotlib as mpl
      mpl.rcParams['lines.width']=2 #将线宽设置为2mpl.rcParams['lines.color']='r' #将线的颜色设置为红色 red#使用matplotlib.rc() 的例子mpl.rc('lines',linewidth=2,color='r')

#2. 為專案配置matplotlib參數

##使用配置參數的方式,是讓你能夠在不同的專案中使用不同的參數配置,不同的同事和專案之間分配配置範本。

matplotlib透過matplotrc檔案來進行配置,這個檔案根據他們的應用範圍可以有一下三個層級:

  1. 目前工作目錄:程式碼運行的目錄,可以為目錄所包含的目前專案程式碼自訂matplotlib配置項。

    設定檔的名稱是:matplotlibrc

  2. 使用者層級設定檔:.matplotlib/matplotlibrc檔。 通常是在使用者的$HOME中(也就是windows系統中的Documents and Setting\目錄)。可以呼叫matplotlib.get_configdir()指令取得目前使用者的設定檔目錄。

  3. 安裝等級設定檔:通常在python的site-packags目錄下。不過,每次重新安裝matplotlib後,這個檔案都會被覆蓋,所以如果希望保持持久有效的配置,最好選擇在使用者層級設定檔中進行配置。

    設定檔包括以下的選項(
    物件):

  • #axes: 設定座標軸邊界和顏色、座標刻度值的大小和網格的顯示;

  • backend:設定目標輸出TkAgg和GTKAgg。

  • figure:控制dpi、邊界顏色、圖形大小和子區(subplot)設定。

  • font:字體集(font-family) 、字體的大小和樣式設定。

  • grid:設定網格的顏色和線型。

  • legend:設定圖例和其中文字的顯示方式。

  • line:設定線條(顏色,線型,線寬等)和標記。

  • patch:是填滿2D空間的圖形對象,如多邊形和圓。控制線寬、顏色和抗鋸齒設定等。

  • savefig:可以對已儲存的圖形進行單獨設置,例如渲染輸出的圖片的顏色背景色為白色。

  • text:設定字體的顏色、文字解析等。

  • verbose:設定matplotlib在執行期間的資訊輸出,如silent, helpful, debug等。

其實,這些物件在matplotlib中都是單獨的對象,都有單獨

API。在Matplotlib作圖的過程中,其實就是將各種配置好的物件堆積在一起。

以上是Python視覺化學習:Matplotlib的配置詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn