Python數據可視化——matplotlib使用

編程語言 Python 數據挖掘 KDE 燈塔大數據 2017-04-04

Python數據可視化——matplotlib使用

總第57篇

01|Figure和Subplot:

matplotlib的圖像都位於figure對象中,相當於一塊畫布。figure的屬性figsize是用來設置figure的大小的。subplot是用來存放座標系的,一個figure中可以有多個subplot。

Python數據可視化——matplotlib使用

在程序開頭加(%matplotlib)是為了顯示figure,如果不加則不會跳出figure圖框。而(%matplotlib inline)則是直接顯示在編程界面,不重新跳出做圖框。

Python數據可視化——matplotlib使用

如果我們沒有指定在哪個ax上進行作圖,matplotlib會默認選擇最後一個(如果沒有則創建一個)上進行繪製。下面這條命令就沒有指定。

Python數據可視化——matplotlib使用

Python數據可視化——matplotlib使用

Python數據可視化——matplotlib使用

Python數據可視化——matplotlib使用

也可以直接一次性創建多個圖框,然後在使用的時候進行索引使用就行,比如下面的subplots(2,3)就是一次性建立兩行三列個座標,而axes[0,1]則表示利用第0行第2列對應的圖框。

Python數據可視化——matplotlib使用

Python數據可視化——matplotlib使用

subplots的參數:除幾行幾列外,還有sharex和sharey,表示x(y)軸的刻度是否要保持相等的刻度。默認情況是False,即不相等。

調整subplot周圍的間距:默認情況下,matlibplot會在subplot外圍以及sbuplot之間留下一定的邊距。圖像的大小和間距是相關的,如果你調整了圖像大小,間距也會自動調整。利用Figure的subplots_adjust方法可以用來修改間距。

Python數據可視化——matplotlib使用

02|顏色,標記和線型:

常用顏色用英文字母的首字母來代替。

Python數據可視化——matplotlib使用

標記是用在線性圖上來強調實際數據點的。

Python數據可視化——matplotlib使用

線性是表示線的形狀。

Python數據可視化——matplotlib使用

Python數據可視化——matplotlib使用

03|刻度、標籤和標題:

Python數據可視化——matplotlib使用

Python數據可視化——matplotlib使用

04|圖例:

在添加subplot的時候傳入label參數,然後調用ax.legend()或plt.legend()即可。

Python數據可視化——matplotlib使用

Python數據可視化——matplotlib使用

06|Pandas作圖:

matplotlib是一種比較低級的工具,要組裝一張圖表,需要用到它的各種組件才可以,包括圖表類型(線型圖、柱狀圖、盒形圖、散佈圖、等值線圖等)、圖例、標題、刻度標籤以及其他註釋信息。這是因為製作一張完整的圖表都需要用到這些,但是matplotlib要實現這種功能需要很多行代碼,而pandas可能只需要幾行代碼就可以搞定。

  1. 線型圖:Series和DataFrame都有自己的plot方法,plot默認創建的是線形圖,Series.plot()和DataFrame.plot()。

  2. 柱狀圖:需要給plot方法傳入參數kind,其中kind="bar"表垂直柱狀圖、kind="barh"表水平柱狀圖。Series和DataFrame的索引將會被用作X(或Y)軸的刻度。柱狀圖中有個特例就是堆積柱狀圖,只需要給plot傳入參數stacked="True"即可。還可以利用s.value_counts().plot(kind="bar")來圖形化顯示Series中各值出現的頻率。

  3. 直方圖:是一種可以對值頻率離散化顯示的柱狀圖。通過調用Series.hist()方法即可創建。

  4. 密度圖:與直方圖相關的一種類型圖,是通過計算“可能會產生觀測數據的連續概率分佈的估計”而產生的,通過給plot傳入參數kind="kde"即可。

  5. 散佈圖:是觀測兩個一維數據序列之間關係的有效手段,使用pd.scatter_matrix()即可建立。

作者:張俊紅

授權轉載

相關推薦

推薦中...