1本值得閱讀的書,Python如何實現數據可視化?

Python擁有眾多的第三方庫使我們可以方便地進行一些數據的可視化操作。目前很多庫的可視化應用都是建立在matplotlib的基礎上的。所以這裡重點介紹matplotlib庫的基本使用方法。

1本值得閱讀的書,Python如何實現數據可視化?

基本操作

先看一個示例代碼來了解一張圖的組成部分,如下所示。

import numpy as npimport matplotlib.pyplot as pltx = np.linspace(-2, 2, 100)y = np.cos(np.pi*x)plt.plot(x, y, 'go')plt.title(r"$y=\cos(\pi \times x)$")plt.show()

運行輸出如圖所示。

1本值得閱讀的書,Python如何實現數據可視化?

下面進行簡要說明。

  • 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 \times x)$")

為圖添加一個標題。值得注意的是,這裡使用了LaTeX的格式,因為matplotlib是兼容LaTeX的。這對書寫公式提供了極大的便利。讀者可能會遇到無法顯示中文的情況,這一點接下來會進行專門的講解。

  • plt.show()

通過show來展示圖像,在pandas和seaborn中也使用這句代碼進行圖像的展示操作。

這裡只是創建了一個圖像,然後加了標題,還可以通過其他的設置使得圖表信息更加豐富,也更加美觀。

1本值得閱讀的書,Python如何實現數據可視化?

中文顯示問題

在初次使用matplotlib時一般都會遇到無法顯示中文的問題,無論是Windows還是Ubuntu之類的Linux系統。這裡分別給出解決的辦法。

對於Windows,解決方法相對較為簡單,只需要在開頭處加上下面三行代碼,一般就可以了。

import matplotlib as mplmpl.rcParams["font.sans-serif"] =["Microsoft YaHei"]mpl.rcParams['axes.unicode_minus'] = False

對於Ubuntu系統,需要手動指定字體來實現中文的顯示。

設置代碼如下。

import matplotlib.pyplot as pltimport matplotlib as mplzhfont =mpl.font_manager.FontProperties(fname='/home/shensir/Downloads/Fonts/msyh.ttc')plt.plot([1, 2, 3], label='標籤')plt.title('中文標題', fontproperties=zhfont)plt.xlabel('x軸', fontproperties=zhfont)plt.ylabel('y軸', fontproperties=zhfont)plt.legend(prop=zhfont)plt.show()

運行輸出如圖所示。

1本值得閱讀的書,Python如何實現數據可視化?

注意:這裡表示字體的.ttc文件是從Windows系統中拷貝過來的,可以放到任意路徑,通過程序指定其路徑即可。當然讀者也可以從網上尋找其他永久設置的方法,由於大部分都比較煩瑣,這裡就不展開介紹了。

繪製填充圖

import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 1, 500)y = np.sin(4 * np.pi * x) * np.exp(-5 * x)fig, ax = plt.subplots()ax.fill(x, y)plt.show()

運行輸出如圖所示。

1本值得閱讀的書,Python如何實現數據可視化?

1本值得閱讀的書,Python如何實現數據可視化?

內容提要

《Python數據分析入門——從數據獲取到可視化》作為數據分析的入門圖書,以Python語言為基礎,介紹了數據分析的整個流程。《Python數據分析入門——從數據獲取到可視化》內容涵蓋數據的獲取(即網絡爬蟲程序的設計)、前期數據的清洗和處理、運用機器學習算法進行建模分析,以及使用可視化的方法展示數據及結果。首先,《Python數據分析入門——從數據獲取到可視化》中不會涉及過於高級的語法,不過還是希望讀者有一定的語法基礎,這樣可以更好地理解本書的內容。其次,《Python數據分析入門——從數據獲取到可視化》重點在於應用Python來完成一些數據分析和數據處理的工作,即如何使用Python來完成工作而非專注於Python語言語法等原理的講解。本書的目的是讓初學者不論對數據分析流程本身還是Python語言,都能有一個十分直觀的感受,為以後的深入學習打下基礎。最後,讀者不必須按順序通讀本書,因為各個章節層次比較分明,可以根據興趣或者需要來自行安排。例如第5章介紹了一些實戰的小項目,有趣且難度不大,大家可以在學習前面內容之餘來閱讀這部分內容。

寫在最後

1本值得閱讀的書,Python如何實現數據可視化?


分享到:


相關文章: