資料視覺化本來是一個非常複雜的過程,但隨著Pandas資料幀plot()函式的出現,使得建立視覺化圖形變得很容易。
在資料幀上進行操作的plot()函式只是
matplotlib
中plt。plot()函式的一個簡單包裝 ,可以幫助你在繪圖過程中省去那些長長的matplotlib程式碼。
最近,一位來自印度的小哥以2019年世界幸福指數的資料為例,詳細講述了在Pandas中plot()函式的各種引數設定的小技巧,熟練掌握這些技巧後,你也能繪製出豐富多彩的視覺化圖表。
匯入資料
在繪製圖形前,我們首先需要匯入csv檔案:
這個csv圖示的內容是各個國家按照不同維度評價的幸福指數(資料下載地址見文末):
資料幀中一些列的名稱比較冗長,可以重新命名使其更加簡潔:
繪製柱狀圖、散點圖等常見圖形
從最近簡單的
柱狀圖
開始,只統計腐敗程度、自由度、寬容度、社會支援等幾個維度
嫌直接寫名稱太麻煩?沒關係,我們也可以用所在列的數字來繪製,比如上述4個列分別為7、6、8、5:
在上面的程式碼中kind = ‘bar’,所以繪製的圖形是柱狀圖,如果我們把引數改成kind = ‘line’,畫出的就是
線狀圖
。
同樣的,如果把引數改成kind = ‘line’,還能繪製出箱形圖:
對於散點圖,設定
kind=’scatter’
,繪製出腐敗程度與自由度之間的關係,用color=’R’將點定義為紅色:
座標軸的設定
取值範圍
使用xlim和ylim兩個引數可設定x和y軸的範圍。在折線圖中,我們要將x軸設定為0到20,y限制為從0到100。
x、y軸刻度
有時候座標軸上的刻度並不理想,我們希望在上面標上我們喜歡的數值。
比如對於x軸,我們想要標上0、10、15和20幾個值;對於y軸,我們想要標上0、50、70、100幾個值,可以在
xticks
和
yticks
引數中悉數列出。
但是用列表來制定座標刻度的方法,在數值太多的時候就比較麻煩了,因此我們還能透過指定刻度間隔的方法來繪製座標軸,比如指定x軸間隔是1,y軸間隔是10:
如果我們不希望在座標軸上看到數字,而是想要設定標籤。我們還可以將x軸標籤更改為文字標籤“低、中、高”這種樣式。
對數座標
如果資料的跨度範圍非常大,橫跨好幾個數量級,那麼用線性座標就無法很好地展示資料。這時候我們需要用到對數座標,設定方法是將
logx
或者
logy
的值設定為
Ture
。
如果我們只想設定x軸為對數座標,y軸仍保持線性座標,那麼
其他高階用法
可以使用
stacked
引數來繪製帶有條形圖的
堆疊圖
。在這裡,我們繪製堆疊的水平條,stacked設定為True。
將grid引數設定為True,可以給圖表加入網格。
有了subplot引數還可以繪製子圖,根據需要指定行數和列數以及繪圖的數量。
在上面的子圖中,我們沒有給子圖新增標題。當subplot 設定為True 時,在設定一組title的值,即可在列表上方加入標題。
表格下載地址:
https://www。kaggle。com/PromptCloudHQ/world-happiness-report-2019/version/1
加入知識星球
【我們談論資料科學】
400+
小夥伴一起學習!