python散點(diǎn)圖的繪制
一、二維散點(diǎn)圖的繪制
1.采用pandas.plotting.scatter_matrix函數(shù)繪制
pd.plotting.scatter_matrix(iris_data, figsize=(10, 10), alpha=1, hist_kwds={"bins": 20})
2. 采用seaborn進(jìn)行繪制
? # No. 1 ? ? # 全部變量都放進(jìn)去 ? ? 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')
經(jīng)過hue
分類后的pairplot
中發(fā)現(xiàn),不論是從對角線上的分布圖還是從分類后的散點(diǎn)圖,都可以看出對于不同種類的花,其萼片長、花瓣長、花瓣寬的分布差異較大,換句話說,這些屬性是可以幫助我們?nèi)プR別不同種類的花的。比如,對于萼片、花瓣長度較短,花瓣寬度較窄的花,那么它大概率是山鳶尾
? # No 3 ? ? # hue:針對某一字段進(jìn)行分類 ? ? sns.pairplot(iris_data, hue='species', kind='reg', diag_kind='hist')
? # No 4 ? ? # vars:研究某2個(gè)或者多個(gè)變量之間的關(guān)系vars, ? ? # x_vars,y_vars:選擇數(shù)據(jù)中的特定字段,以list形式傳入需要注意的是,x_vars和y_vars要同時(shí)指定 ? ? 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)"])
二、 三維散點(diǎn)圖繪制
三維散點(diǎn)圖繪制采用mplot3d
模塊進(jìn)行繪制
?# 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 ? ? # 全部變量都放進(jìn)去 ? ? 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:針對某一字段進(jìn)行分類 ? ? sns.pairplot(iris_data, hue='species', kind='reg', diag_kind='hist') ? ? # No 4 ? ? # vars:研究某2個(gè)或者多個(gè)變量之間的關(guān)系vars, ? ? # x_vars,y_vars:選擇數(shù)據(jù)中的特定字段,以list形式傳入需要注意的是,x_vars和y_vars要同時(shí)指定 ? ? 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()
到此這篇關(guān)于python散點(diǎn)圖的繪制的文章就介紹到這了,更多相關(guān)python散點(diǎn)圖繪制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python reverse反轉(zhuǎn)部分?jǐn)?shù)組的實(shí)例
今天小編就為大家分享一篇python reverse反轉(zhuǎn)部分?jǐn)?shù)組的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python3中configparser模塊讀寫ini文件并解析配置的用法詳解
這篇文章主要介紹了Python3中configparser模塊讀寫ini文件并解析配置的用法詳解,需要的朋友可以參考下2020-02-02Python數(shù)值求解微分方程方法(歐拉法,隱式歐拉)
這篇文章主要介紹了Python數(shù)值求解微分方程方法(歐拉法,隱式歐拉),文章圍繞主題展開詳細(xì)的內(nèi)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09Python實(shí)現(xiàn)的計(jì)算馬氏距離算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的計(jì)算馬氏距離算法,簡單說明了馬氏距離算法原理,并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)與使用馬氏距離算法的相關(guān)操作技巧,需要的朋友可以參考下2018-04-04