選單

Pandas視覺化指南:從零教你繪製資料圖表

資料視覺化本來是一個非常複雜的過程,但隨著Pandas資料幀plot()函式的出現,使得建立視覺化圖形變得很容易。

在資料幀上進行操作的plot()函式只是

matplotlib

中plt。plot()函式的一個簡單包裝 ,可以幫助你在繪圖過程中省去那些長長的matplotlib程式碼。

最近,一位來自印度的小哥以2019年世界幸福指數的資料為例,詳細講述了在Pandas中plot()函式的各種引數設定的小技巧,熟練掌握這些技巧後,你也能繪製出豐富多彩的視覺化圖表。

匯入資料

在繪製圖形前,我們首先需要匯入csv檔案:

這個csv圖示的內容是各個國家按照不同維度評價的幸福指數(資料下載地址見文末):

資料幀中一些列的名稱比較冗長,可以重新命名使其更加簡潔:

繪製柱狀圖、散點圖等常見圖形

從最近簡單的

柱狀圖

開始,只統計腐敗程度、自由度、寬容度、社會支援等幾個維度

嫌直接寫名稱太麻煩?沒關係,我們也可以用所在列的數字來繪製,比如上述4個列分別為7、6、8、5:

Pandas視覺化指南:從零教你繪製資料圖表

在上面的程式碼中kind = ‘bar’,所以繪製的圖形是柱狀圖,如果我們把引數改成kind = ‘line’,畫出的就是

線狀圖

Pandas視覺化指南:從零教你繪製資料圖表

同樣的,如果把引數改成kind = ‘line’,還能繪製出箱形圖:

Pandas視覺化指南:從零教你繪製資料圖表

對於散點圖,設定

kind=’scatter’

,繪製出腐敗程度與自由度之間的關係,用color=’R’將點定義為紅色:

Pandas視覺化指南:從零教你繪製資料圖表

Pandas視覺化指南:從零教你繪製資料圖表

座標軸的設定

取值範圍

使用xlim和ylim兩個引數可設定x和y軸的範圍。在折線圖中,我們要將x軸設定為0到20,y限制為從0到100。

Pandas視覺化指南:從零教你繪製資料圖表

x、y軸刻度

有時候座標軸上的刻度並不理想,我們希望在上面標上我們喜歡的數值。

比如對於x軸,我們想要標上0、10、15和20幾個值;對於y軸,我們想要標上0、50、70、100幾個值,可以在

xticks

yticks

引數中悉數列出。

Pandas視覺化指南:從零教你繪製資料圖表

但是用列表來制定座標刻度的方法,在數值太多的時候就比較麻煩了,因此我們還能透過指定刻度間隔的方法來繪製座標軸,比如指定x軸間隔是1,y軸間隔是10:

Pandas視覺化指南:從零教你繪製資料圖表

如果我們不希望在座標軸上看到數字,而是想要設定標籤。我們還可以將x軸標籤更改為文字標籤“低、中、高”這種樣式。

Pandas視覺化指南:從零教你繪製資料圖表

對數座標

如果資料的跨度範圍非常大,橫跨好幾個數量級,那麼用線性座標就無法很好地展示資料。這時候我們需要用到對數座標,設定方法是將

logx

或者

logy

的值設定為

Ture

如果我們只想設定x軸為對數座標,y軸仍保持線性座標,那麼

Pandas視覺化指南:從零教你繪製資料圖表

其他高階用法

可以使用

stacked

引數來繪製帶有條形圖的

堆疊圖

。在這裡,我們繪製堆疊的水平條,stacked設定為True。

Pandas視覺化指南:從零教你繪製資料圖表

將grid引數設定為True,可以給圖表加入網格。

Pandas視覺化指南:從零教你繪製資料圖表

有了subplot引數還可以繪製子圖,根據需要指定行數和列數以及繪圖的數量。

Pandas視覺化指南:從零教你繪製資料圖表

在上面的子圖中,我們沒有給子圖新增標題。當subplot 設定為True 時,在設定一組title的值,即可在列表上方加入標題。

表格下載地址:

https://www。kaggle。com/PromptCloudHQ/world-happiness-report-2019/version/1

加入知識星球

【我們談論資料科學】

400+

小夥伴一起學習!