在當今信息爆炸的時代,數據可視化是十分重要的,它可以通過圖表、圖像等方式將數據呈現出來,快速直觀地讓人理解複雜的數據。Python是一種流行的編程語言,它有許多強大的數據可視化工具,比如Matplotlib、Seaborn等。本文將以實例展示的方式,介紹如何使用Python進行數據可視化。
一、選取合適的數據集
首先,在進行數據可視化之前,我們需要選取具有代表性的數據集。在這裡我們以Iris(鳶尾花)數據集作為例子,這個數據集由三種鳶尾花(山鳶尾、變色鳶尾和維吉尼亞鳶尾)的50個樣本組成,每種鳶尾花都有4種特徵(花萼長度、花萼寬度、花瓣長度和花瓣寬度),總共150個樣本。
# 導入Iris數據集
from sklearn.datasets import load_iris
iris = load_iris()
# 查看數據集中的樣本數量和特徵數量
print("數據集中的樣本數量:", iris.data.shape[0])
print("數據集中的特徵數量:", iris.data.shape[1])
輸出結果為:
數據集中的樣本數量: 150
數據集中的特徵數量: 4
通過上述代碼,我們可以看出Iris數據集中有150個樣本和4個特徵。
二、繪製散點圖
散點圖是數據可視化中最常見的一種類型,它可以用來顯示兩個變量之間的關係。在這裡,我們將使用Matplotlib庫繪製Iris數據集中花萼長度和花萼寬度的散點圖。其中,不同種類的鳶尾花用不同的顏色表示。
# 導入繪圖庫
import matplotlib.pyplot as plt
# 繪製散點圖
plt.figure()
plt.scatter(iris.data[:, 0], iris.data[:, 1], c=iris.target)
plt.xlabel('花萼長度')
plt.ylabel('花萼寬度')
plt.show()
代碼中的第1行導入了Matplotlib繪圖庫,第3、4行繪製了散點圖,其中iris.data[:, 0]代表取出Iris數據集中的花萼長度,iris.data[:, 1]代表取出花萼寬度,c=iris.target表示給不同種類的鳶尾花分配不同的顏色,最後一行plt.show()將圖表顯示出來。
輸出結果為:
通過上述代碼,我們可以看出花萼長度和花萼寬度之間有一定的正相關關係,同時可以通過不同的顏色看出不同種類的鳶尾花。
三、繪製條形圖
條形圖是用來比較不同類別之間數量差異的有效方式。在這裡,我們將使用Seaborn庫繪製Iris數據集中各種鳶尾花的花瓣長度條形圖。
# 導入繪圖庫
import seaborn as sns
# 將Iris數據集轉換為DataFrame格式
iris_df = pd.DataFrame(iris.data, columns=iris.feature_names)
iris_df['target'] = iris.target
# 繪製花瓣長度的條形圖
sns.barplot(x='target', y='petal length (cm)', data=iris_df)
plt.ylabel('花瓣長度')
plt.xlabel('鳶尾花種類')
plt.show()
代碼中的第1、2行導入了Seaborn庫,第4、5行將Iris數據集轉換為DataFrame格式,第7行繪製花瓣長度的條形圖,其中x=’target’代表不同種類的鳶尾花,y=’petal length (cm)’代表花瓣長度,data=iris_df代表使用iris_df數據集進行繪圖,最後兩行設置橫縱坐標軸標籤,plt.show()將圖表顯示出來。
輸出結果為:
通過上述代碼,我們可以看出三種鳶尾花的花瓣長度相差較大,同時可以看出各種鳶尾花的花瓣長度大小排列。
四、繪製餅圖
餅圖是一種用於顯示百分比的圖表類型,它將數據分成多個部分,每個部分用一個扇形來表示。在這裡,我們將使用Matplotlib庫繪製Iris數據集中各種鳶尾花的分佈情況餅圖。
# 導入繪圖庫
import matplotlib.pyplot as plt
# 獲取各種鳶尾花的數量
counts = np.bincount(iris.target)
# 繪製餅圖
plt.pie(counts, labels=iris.target_names, autopct='%1.1f%%')
plt.title('鳶尾花分佈情況')
plt.show()
代碼中的第1行導入了Matplotlib繪圖庫,第3行獲取各種鳶尾花的數量,第6行繪製餅圖,其中counts代表各種鳶尾花的數量,labels=iris.target_names代表餅圖的標籤,autopct=’%1.1f%%’表示將每一塊扇形的數值保留一位小數,並以百分比形式表示,最後兩行設置標題和將圖表顯示出來。
輸出結果為:
通過上述代碼,我們可以看出三種鳶尾花的數量分佈情況,顏色越深說明鳶尾花的種類數量越多。
五、繪製箱線圖
箱線圖是一種用於顯示一個或多個數據集分佈情況的有效方式。在這裡,我們將使用Seaborn庫繪製Iris數據集中花瓣長度和花瓣寬度的箱線圖。
# 導入繪圖庫
import seaborn as sns
# 將Iris數據集轉換為DataFrame格式
iris_df = pd.DataFrame(iris.data, columns=iris.feature_names)
iris_df['target'] = iris.target
# 繪製花瓣長度和花瓣寬度的箱線圖
sns.boxplot(x='target', y='petal length (cm)', data=iris_df)
sns.boxplot(x='target', y='petal width (cm)', data=iris_df)
plt.ylabel('特徵值')
plt.xlabel('鳶尾花種類')
plt.show()
代碼中的第1、2行導入了Seaborn庫,第4、5行將Iris數據集轉換為DataFrame格式,第7、8行繪製花瓣長度和花瓣寬度的箱線圖,其中x=’target’代表不同種類的鳶尾花,y=’petal length (cm)’和y=’petal width (cm)’代表花瓣長度和花瓣寬度,data=iris_df代表使用iris_df數據集進行繪圖,最後兩行設置橫縱坐標軸標籤和將圖表顯示出來。
輸出結果為:
通過上述代碼,我們可以看出三種鳶尾花的花瓣長度和花瓣寬度的分佈情況。對於每種花,箱子體內的中位數代表該變量的中心趨勢,箱子體內的上下四分位數代表中間50%數據的範圍,黑色橫線上的點代表離群點。
總結:
本文介紹了四種常用的數據可視化方法,並使用Iris數據集為例進行了實例展示。在選取數據集時,需要選擇代表性強的數據集,否則可視化的效果會大打折扣。在繪製圖形時,需要掌握相應的繪圖庫(如Matplotlib、Seaborn等)的功能和使用方法。數據可視化是非常有用的,通過對數據的可視化呈現,可以快速直觀地呈現複雜的數據,幫助人們更好地理解數據。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/312651.html