Python如何實現數據可視化?
Python擁有眾多的第三方庫使我們可以方便地進行一些數據的可視化操作。目前很多庫的可視化應用都是建立在matplotlib的基礎上的。所以這裡重點介紹matplotlib庫的基本使用方法。
基本操作
先看一個示例代碼來了解一張圖的組成部分,如下所示。
運行輸出如圖所示。
下面進行簡要說明。
import matplotlib.pyplot as plt
一般用到的就是pyplot,且按照慣例導入為plt。
plt.plot(x,y,"go")
這裡就比較明確了,x、y是自變數和因變數數據。後面的"go"是對樣式的控制:其中g表示選擇綠色,o表示選擇點的方式顯示。更多參數設置可使用幫助命令help(plt.plot)進一步學習。
plt.title(r"$y=cos(pi imes x)$")
為圖添加一個標題。值得注意的是,這裡使用了LaTeX的格式,因為matplotlib是兼容LaTeX的。這對書寫公式提供了極大的便利。讀者可能會遇到無法顯示中文的情況,這一點接下來會進行專門的講解。
plt.show()
通過show來展示圖像,在pandas和seaborn中也使用這句代碼進行圖像的展示操作。
這裡只是創建了一個圖像,然後加了標題,還可以通過其他的設置使得圖表信息更加豐富,也更加美觀。
首先看一下增強版本的代碼,如下所示。
運行輸出如圖所示。
下面進行簡要說明。
alpha
alpha參數代表透明度,從0到1表示顏色逐漸加深。
linewidth
代表線條或者點的粗細程度。
axis
按照(xmin、xmax、ymin、ymax)的格式來限制座標軸的範圍。
legend
在plot裡面使用lable,記錄了當前圖的圖例,可以通過調用legend使其顯示。在默認情況下,圖例會顯示在最合適的空白處,當然也可以手動調節其位置。
grid
顯示背景網格線,也可以通過alpha參數設置其透明度。
color=(0.1, 0.3, 0.5)
在有些情況下,matplotlib自帶的顏色達不到效果,此時可以通過設置歸一化到[0,1]的RGB元組來指定顏色。也可以使用HTML的十六進位字元串,如"#eeefff"來指定顏色。
中文顯示問題
在初次使用matplotlib時一般都會遇到無法顯示中文的問題,無論是Windows還是Ubuntu之類的Linux系統。這裡分別給出解決的辦法。
對於Windows,解決方法相對較為簡單,只需要在開頭處加上下面三行代碼,一般就可以了。
對於Ubuntu系統,需要手動指定字體來實現中文的顯示。
設置代碼如下。
運行輸出如圖所示。
注意:這裡表示字體的.ttc文件是從Windows系統中拷貝過來的,可以放到任意路徑,通過程序指定其路徑即可。當然讀者也可以從網上尋找其他永久設置的方法,由於大部分都比較煩瑣,這裡就不展開介紹了。
matplotlib的進階使用
繪製子圖
下面介紹怎樣在一張圖上繪製多個子圖,代碼如下。
運行輸出如圖所示。
下面進行簡要說明。
plt.subplot(221)
這裡subplot的參數221,應當分別解讀。22代表要繪製兩行兩列共四個子圖。1代表在第一位置做圖。這裡的1可以看作(1,1),對應的2、3、4可以看作座標(1,2)、(2,1)、(2,2)
繪製填充圖
運行輸出如圖所示。
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※以小見大——Python淺談的文本分析功能
※從零開始學習 Python之數據結構
TAG:Python |