Python開發工程師告訴你正確如何上手數據可視化,趕緊圍觀!
數據可視化
1. 安裝 Matplotlib
在Linux系統中安裝matplotlib
Ubuntu17.10內置Python2版本和Python3版本,可以采用下面的方式安裝Matplotlib。
$ sudo apt-get install python3-matplotlib
如果你使用的是Python 2.7,執行如下命令:
$ sudo apt-get install python-matplotlib
如果你安裝了pip 就可以使用下面的方式安裝:
$ pip install matplotlib
如果你的安裝比較慢,可以嘗試這種方式來安裝:
$ pip3 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
常用的國內源地址有:
阿裏雲 http://mirrors.aliyun.com/pypi/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/
中國科學技術大學 http://pypi.mirrors.ustc.edu.cn/simple/
在Windows系統中安裝matplotlib
在Windows下下載Python後記得在安裝的時候選擇加入pip到環境變量。然後用下面的命令:
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
測試matplotlib
>>>import matplotlib
>>>
如果沒有出現任何錯誤信息,就代表安裝成功!
2. 繪制簡單的折線圖
下面來使用 matplotlib 繪制一個簡單的折線圖,再對其進行定制,以實現信息更豐富的數據可視化。我們將使用平方數序列 1 、 4 、 9 、 16 和 25 來繪制折線圖。
修改標簽文字和線條粗細
圖形表明數字是越來越大的,但標簽文字太小,線條太細。所幸 matplotlib 讓你能夠調整可視化的各個方面。
校正圖形
圖形更容易閱讀後,我們發現沒有正確地繪制數據:折線圖的終點指出 4.0 的平方為 25 !下 面來修復這個問題。
使用scatter()繪制散點圖並設置其樣式
有時候,需要繪制散點圖並設置各個數據點的樣式。要繪制單個點,可使用函數 scatter() ,並向它傳遞一對 x 和 y 坐標,它將在指定位置繪制一 個點:
import matplotlib.pyplot as plt
plt.scatter(2, 4)
plt.show()
下面來設置輸出的樣式,使其更有趣:添加標題,給軸加上標簽,並確保所有文本都大到能夠看清:
使用scatter()繪制一系列點
要繪制一系列的點,可向 scatter() 傳遞兩個分別包含 x 值和 y 值的列表,如下所示:
自動計算數據
手工計算列表要包含的值可能效率低下,需要繪制的點很多時尤其如此。
matplotlib允許你給散點圖中的各個點指定顏色。默認為藍色點和黑色輪廓,在散點圖包含的數據點不多時效果很好。但繪制很多點時,黑色輪廓可能會粘連在一起。要刪除數據點的輪廓,可在調用scatter()時傳遞實參edgecolor='none':
自定義顏色
要修改數據點的顏色,可向scatter()傳遞參數c,並將其設置為要使用的顏色的名稱,如下所示:
plt.scatter(x_values, y_values, c='red', edgecolor='none', s=40)
你還可以使用RGB顏色模式自定義顏色。
plt.scatter(x_values, y_values, c=(0, 0, 0.8), edgecolor='none', s=40)
(0, 0, 0.8) 它們分別表示紅色、綠色和藍色分量。值越接近0,指定的顏色越深,值越接近1,指定的顏色越淺。
使用顏色映射
顏色映射(colormap)是一系列顏色,它們從起始顏色漸變到結束顏色。在可視化中,顏色映射用於突出數據的規律,例如,你可能用較淺的顏色來顯示較小的值,並使用較深的顏色來顯示較大的值。
這些代碼將y值較小的點顯示為淺藍色,並將y值較大的點顯示為深藍色。
自動保存圖表
plt.savefig('squares_plot.png', bbox_inches='tight')
第二個實參指定將圖表多余的空白區域裁剪掉。如果要保留圖表周圍多余的空白區域,可省略這個實參。
3. 隨機漫步
在自然界、物理學、生物學、化學和經濟領域,隨機漫步都有其實際用途。例如,漂浮在水滴上的花粉因不斷受到水分子的擠壓而在水面上移動。水滴中的分子運動是隨機的,因此花粉在水面上的運動路徑猶如隨機漫步。我們稍後將編寫的代碼模擬了現實世界的很多情形。
創建RandomWalk()類
為模擬隨機漫步,我們將創建一個名為RandomWalk的類,它隨機地選擇前進方向。這個類需要三個屬性,其中一個是存儲隨機漫步次數的變量,其他兩個是列表,分別存儲隨機漫步經過的每個點的x和y坐標。
RandomWalk類只包含兩個方法:__init__ ()和fill_walk(),其中後者計算隨機漫步經過的所有點。下面先來看看__init__(),如下所示:
選擇方向
我們將使用fill_walk()來生成漫步包含的點,並決定每次漫步的方向。
繪制隨機漫步圖
下面的代碼將隨機漫步的所有點都繪制出來:
給點著色
我們將使用顏色映射來指出漫步中各點的先後順序,並刪除每個點的黑色輪廓,讓它們的顏色更明顯。為根據漫步中各點的先後順序進行著色,我們傳遞參數c,並將其設置為一個列表,其中包含各點的先後順序。由於這些點是按順序繪制的,因此給參數c指定的列表只需包含數字1~5000,如下所示:
重新繪制起點和終點
除了給隨機漫步的各個點著色,以指出它們的先後順序外,如果還能呈現隨機漫步的起點和終點就更好了。為此,可在繪制隨機漫步圖後重新繪制起點和終點。我們讓起點和終點變得更大,並顯示為不同的顏色,以突出它們,如下所示:
隱藏坐標軸
如果不想顯示坐標的尺寸,可以隱藏:
調整尺寸以適合屏幕
在不同的電腦上面,由於屏幕的不同,圖像的大小也是不同的,為了達到這種效果,我們可以這樣做:
4. Matplotlib進階-Seaborn
Seaborn其實是在matplotlib的基礎上進行了更高級的API封裝,從而使得作圖更加容易,在大多數情況下使用seaborn就能做出很具有吸引力的圖。
安裝方式
安裝方式類似於matplotlib , 在Windows下和Linux下面都可以采用pip安裝方式。
set_style( )
set_style( )是用來設置主題的,Seaborn有五個預設好的主題: darkgrid , whitegrid , dark , white ,和 ticks 默認: darkgrid
直方圖
直方圖的繪制:
箱型圖
箱形圖(Box-plot)又稱為盒須圖、盒式圖或箱線圖,是一種用作顯示一組數據分散情況資料的統計圖。因形狀如箱子而得名。
聯合分布
兩個變量的畫圖
不用圓點表示的話也是可以的,可以用其他方式來表示,比如六角形來表示:
熱力圖
相關系數是最早由統計學家卡爾·皮爾遜設計的統計指標,是研究變量之間線性相關程度的量,一般用字母 r 表示。由於研究對象的不同,相關系數有多種定義方式,較為常用的是皮爾遜相關系數。
相關系數是用以反映變量之間相關關系密切程度的統計指標。相關系數是按積差方法計算,同樣以兩變量與各自平均值的離差為基礎,通過兩個離差相乘來反映兩變量之間相關程度;著重研究線性的單相關系數。公式:
多變量圖
關註數據框中各個特征之間的相關關系,呈現圖形的展示,給人以直觀的感受。而不是"冰冷"的數字。可以非常方便的找到各個特征之間呈現什麽樣的關系。比如線性,離散等關系。
參考文獻:《Python編程:從入門到實戰》
如果你對於學習Python整個流程有任何的問題,可以隨時來咨詢我,學習方法,學習路線,系統學習規劃,希望可以幫助大家少走彎路。這是我的2000人Python交流學習群:639584010,有問題隨時交流。
Python開發工程師告訴你正確如何上手數據可視化,趕緊圍觀!