前言
如同藝術家們用繪畫讓人們更貼切的感知世界,數據可視化也能讓人們更直觀的傳遞數據所要表達的信息。
我們今天就分享一下如何用 Python 簡單便捷的完成數據可視化。
其實利用 Python 可視化數據并不是很麻煩,因為 Python 中有兩個專用于可視化的庫 matplotlib 和 seaborn 能讓我們很容易的完成任務。
Matplotlib:基于Python的繪圖庫,提供完全的 2D 支持和部分 3D 圖像支持。在跨平臺和互動式環境中生成高質量數據時,matplotlib 會很有幫助。也可以用作制作動畫。 Seaborn:該 Python 庫能夠創建富含信息量和美觀的統計圖形。Seaborn 基于 matplotlib,具有多種特性,比如內置主題、調色板、可以可視化單變量數據、雙變量數據,線性回歸數據和數據矩陣以及統計型時序數據等,能讓我們創建復雜的可視化圖形。我們用 Python 可以做出哪些可視化圖形?
那么這里可能有人就要問了,我們為什么要做數據可視化?比如有下面這個圖表:
當然如果你把這張圖表丟給別人,他們倒是也能看懂,但無法很直觀的理解其中的信息,而且這種形式的圖表看上去也比較 low,這個時候我們如果換成直觀又美觀的可視化圖形,不僅能突顯逼格,也能讓人更容易的看懂數據。
下面我們就用上面這個簡單的數據集作為例子,展示用 Python 做出9種可視化效果,并附有相關代碼。
導入數據集
import matplotlib.pyplot as pltimport pandas as pddf=pd.read_excel("E:/First.xlsx", "Sheet1")
可視化為直方圖
fig=plt.figure() #Plots in matplotlib reside within a figure object, use plt.figure to create new figure#Create one or more subplots using add_subplot, because you can't create blank figureax = fig.add_subplot(1,1,1)#Variableax.hist(df['Age'],bins = 7) # Here you can play with number of binsLabels and Titplt.title('Age distribution')plt.xlabel('Age')plt.ylabel('#Employee')plt.show()
可視化為箱線圖
import matplotlib.pyplot as pltimport pandas as pdfig=plt.figure()ax = fig.add_subplot(1,1,1)#Variableax.boxplot(df['Age'])plt.show()
可視化為小提琴圖
import seaborn as sns sns.violinplot(df['Age'], df['Gender']) #Variable Plotsns.despine()
可視化為條形圖
var = df.groupby('Gender').Sales.sum() #grouped sum of sales at Gender levelfig = plt.figure()ax1 = fig.add_subplot(1,1,1)ax1.set_xlabel('Gender')ax1.set_ylabel('Sum of Sales')ax1.set_title("Gender wise Sum of Sales")var.plot(kind='bar')
新聞熱點
疑難解答