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:用于控制非對(duì)角線上圖的類型,可選'scatter'與'reg' ?? ?#diag_kind:用于控制對(duì)角線上的圖分類型,可選'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),不論是從對(duì)角線上的分布圖還是從分類后的散點(diǎn)圖,都可以看出對(duì)于不同種類的花,其萼片長、花瓣長、花瓣寬的分布差異較大,換句話說,這些屬性是可以幫助我們?nèi)プR(shí)別不同種類的花的。比如,對(duì)于萼片、花瓣長度較短,花瓣寬度較窄的花,那么它大概率是山鳶尾
? # No 3 ? ? # hue:針對(duì)某一字段進(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:針對(duì)某一字段進(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬蟲入門有哪些基礎(chǔ)知識(shí)點(diǎn)
在本篇文章中小編給大家整理的是關(guān)于Python爬蟲入門基礎(chǔ)知識(shí)點(diǎn)整理,有興趣的朋友們可以跟著學(xué)習(xí)下。2020-06-06
python reverse反轉(zhuǎn)部分?jǐn)?shù)組的實(shí)例
今天小編就為大家分享一篇python reverse反轉(zhuǎn)部分?jǐn)?shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python3中configparser模塊讀寫ini文件并解析配置的用法詳解
這篇文章主要介紹了Python3中configparser模塊讀寫ini文件并解析配置的用法詳解,需要的朋友可以參考下2020-02-02
Python數(shù)值求解微分方程方法(歐拉法,隱式歐拉)
這篇文章主要介紹了Python數(shù)值求解微分方程方法(歐拉法,隱式歐拉),文章圍繞主題展開詳細(xì)的內(nèi)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
Python實(shí)現(xiàn)的計(jì)算馬氏距離算法示例
這篇文章主要介紹了Python實(shí)現(xiàn)的計(jì)算馬氏距離算法,簡單說明了馬氏距離算法原理,并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)與使用馬氏距離算法的相關(guān)操作技巧,需要的朋友可以參考下2018-04-04

