python散點圖的繪制
一、二維散點圖的繪制
1.采用pandas.plotting.scatter_matrix函數繪制
pd.plotting.scatter_matrix(iris_data, figsize=(10, 10), alpha=1, hist_kwds={"bins": 20})
2. 采用seaborn進行繪制
# No. 1 # 全部變量都放進去 sns.pairplot(iris_data)
# No.2 #kind:用於控制非對角線上圖的類型,可選'scatter'與'reg' #diag_kind:用於控制對角線上的圖分類型,可選'hist'與'kde' sns.pairplot(iris_data, kind='reg', diag_kind='kde') sns.pairplot(iris_data, kind='reg', diag_kind='hist')
經過hue
分類後的pairplot
中發現,不論是從對角線上的分佈圖還是從分類後的散點圖,都可以看出對於不同種類的花,其萼片長、花瓣長、花瓣寬的分佈差異較大,換句話說,這些屬性是可以幫助我們去識別不同種類的花的。比如,對於萼片、花瓣長度較短,花瓣寬度較窄的花,那麼它大概率是山鳶尾
# No 3 # hue:針對某一字段進行分類 sns.pairplot(iris_data, hue='species', kind='reg', diag_kind='hist')
# No 4 # vars:研究某2個或者多個變量之間的關系vars, # x_vars,y_vars:選擇數據中的特定字段,以list形式傳入需要註意的是,x_vars和y_vars要同時指定 sns.pairplot(iris_data, vars=["sepal length (cm)", "sepal width (cm)"]) sns.pairplot(iris_data, x_vars=["petal length (cm)", "sepal width (cm)"], y_vars=["petal width (cm)", "sepal length (cm)"])
二、 三維散點圖繪制
三維散點圖繪制采用mplot3d
模塊進行繪制
# No. 5 3d from mpl_toolkits.mplot3d import Axes3D dims={'x':'petal length (cm)', 'y':'petal width (cm)', 'z':'sepal length (cm)'} types=iris_data.species.value_counts().index.tolist() print(dims, types) flg=plt.figure() ax=Axes3D(flg) for iris_type in types: tmp_data=iris_data[iris_data.species ==iris_type] x,y,z = tmp_data[dims['x']], tmp_data[dims['z']],tmp_data[dims['z']] ax.scatter(x, y, z, label=iris_type) ax.legend(loc='upper left') ax.set_zlabel(dims['z']) ax.set_xlabel(dims['x']) ax.set_ylabel(dims['y']) plt.show()
完整代碼:
import pandas as pd from sklearn import datasets import seaborn as sns import matplotlib.pyplot as plt def function(): iris = datasets.load_iris() iris_data = pd.DataFrame(iris.data, columns=iris.feature_names) iris_data['species'] = iris.target_names[iris.target] # No. 0 pd.plotting.scatter_matrix(iris_data, figsize=(10, 10), alpha=1, hist_kwds={"bins": 20}) # No. 1 # 全部變量都放進去 sns.pairplot(iris_data) # No.2 sns.pairplot(iris_data, kind='reg', diag_kind='kde') sns.pairplot(iris_data, kind='reg', diag_kind='hist') # No 3 # hue:針對某一字段進行分類 sns.pairplot(iris_data, hue='species', kind='reg', diag_kind='hist') # No 4 # vars:研究某2個或者多個變量之間的關系vars, # x_vars,y_vars:選擇數據中的特定字段,以list形式傳入需要註意的是,x_vars和y_vars要同時指定 sns.pairplot(iris_data, vars=["sepal length (cm)", "sepal width (cm)"]) sns.pairplot(iris_data, x_vars=["petal length (cm)", "sepal width (cm)"], y_vars=["petal width (cm)", "sepal length (cm)"]) # No. 5 3d from mpl_toolkits.mplot3d import Axes3D dims={'x':'petal length (cm)', 'y':'petal width (cm)', 'z':'sepal length (cm)'} types=iris_data.species.value_counts().index.tolist() print(dims, types) flg=plt.figure() ax=Axes3D(flg) for iris_type in types: tmp_data=iris_data[iris_data.species ==iris_type] x,y,z = tmp_data[dims['x']], tmp_data[dims['z']],tmp_data[dims['z']] ax.scatter(x, y, z, label=iris_type) ax.legend(loc='upper left') ax.set_zlabel(dims['z']) ax.set_xlabel(dims['x']) ax.set_ylabel(dims['y']) print( iris_data) plt.show() if __name__ == '__main__': function()
到此這篇關於python散點圖的繪制的文章就介紹到這瞭,更多相關python散點圖繪制內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 利用Seaborn繪制20個精美的pairplot圖
- Matplotlib配色之Colormap詳解
- Python機器學習應用之決策樹分類實例詳解
- 一篇文章讓你快速掌握Pandas可視化圖表
- Python matplotlib繪制散點圖配置(萬能模板案例)