欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python散點(diǎn)圖的繪制

 更新時(shí)間:2022年02月11日 10:38:59   作者:wei2023  
這篇文章主要介紹了python散點(diǎn)圖的繪制,這是的繪制圖有二維散點(diǎn)圖的繪制,采用pandas.plotting.scatter_matrix函數(shù)繪制和采用seaborn進(jì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)文章

最新評論