matplotlib中文手冊,python畫相關系數矩陣圖_pyhton中matplotlib箱線圖的繪制(matplotlib雙軸圖、箱線圖、散點圖以及相關系

 2023-10-15 阅读 22 评论 0

摘要://2019.07.231、箱形圖,又稱為盒式圖,一般可以很好地反映出數據分布的特征,也可以進行多項數據之間分布特征的比較,它主要包含五個基礎數據:中位數,兩個上下分位數以及上下邊緣線數據其中的一些參數具體含義及其計算過程如下࿱

//2019.07.23

1、箱形圖,又稱為盒式圖,一般可以很好地反映出數據分布的特征,也可以進行多項數據之間分布特征的比較,它主要包含五個基礎數據:中位數,兩個上下分位數以及上下邊緣線數據

其中的一些參數具體含義及其計算過程如下:

2、雙軸圖的繪制代碼:

import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

plt.rcParams["font.sans-serif"]=["SimHei"] #輸出圖像的標題可以為中文正常輸出

plt.rcParams["axes.unicode_minus"]=False #可以正常輸出圖線里的負號

import warnings

warnings.filterwarnings("ignore") #忽略相應的警告信息

df=pd.read_excel("D:/Byrbt2018/Study/Python數據分析課程+練習+講解/Python數據分析課程+練習+講解/作業/作業4/作業4/酒店數據1.xlsx")#導入w我們的表格數據文件

print(df)

print(df.index)

print(df.columns)

d=df[:5]

print(d)

2、#雙軸圖的繪制.twinx()

import matplotlib.mlab as mlab

fig=plt.figure(figsize=(10,8))

ax1=fig.add_subplot(1,1,1)

n,bins,patches=ax1.hist(df["評分"],bins=100,color="m")

ax1.set_ylabel("電影數量",fontsize=15)

ax1.set_xlabel("評分",fontsize=15)

ax1.set_title("頻率分布直方圖",fontsize=20)

y=mlab.normpdf(bins,df["評分"].mean(),df["評分"].std()) #生成正態分布函數

ax2=ax1.twinx() #定義新的雙軸圖函數

ax2.plot(bins,y,"b--")

ax2.set_ylabel("概率分布",fontsize=15)

3、#散點圖的繪制plt.scatter(x,y)繪制散點圖

x=df["評分人數"][::10]

y=df["評分"][::10] #隔10個點進行選取數據點

plt.figure(2)

plt.scatter(x,y,color="r",marker="p") #散點圖函數圖像輸出

plt.xlabel("評分",fontsize=15)

plt.ylabel("評分人數",fontsize=15)

plt.title("酒店評分與人數散點圖",fontsize=20)

4、#箱線圖的繪制

d=df[df.類型=="商務出行"]["評分"]

print(d)

plt.figure(4)

plt.boxplot(d,whis=1.5,flierprops={"marker":"o","markerfacecolor":"r","color":"g"},patch_artist=True,boxprops={"color":"k","facecolor":"g"})

#箱線圖的格式設置和調整

plt.title("商務出行酒店的評分數據分布",fontsize=17)

#多組數據的箱線圖

d1=df[df.類型=="浪漫情侶"]["評分"]

d2=df[df.類型=="地鐵周邊"]["評分"]

d3=df[df.類型=="休閑度假"]["評分"]

d4=df[df.類型=="海濱風光"]["評分"]

d5=df[df.類型=="交通方便"]["評分"]

d6=df[df.類型=="商務出行"]["評分"]

plt.figure(5)

plt.boxplot([d1,d2,d3,d4,d5,d6],labels=["浪漫情侶","地鐵周邊","休閑度假","海濱風光","交通方便","商務出行"],whis=1.5,flierprops={"marker":"o","markerfacecolor":"r","color":"g"},patch_artist=True,boxprops={"color":"k","facecolor":"g"}

,vert=True) #多組數據分布特征比較,vert決定了整體圖像的橫向與縱向

#坐標軸的編輯與改變

ax=plt.gca() #坐標軸的編輯與改變

ax.patch.set_facecolor("white") #設置坐標軸的背景顏色

ax.patch.set_alpha(0.3) #設置配色和透明度

plt.title("不同類型酒店的評分箱線圖",fontsize=20)

plt.xlabel("酒店類型",fontsize=15)

plt.ylabel("評分大小",fontsize=15)

#相關系數矩陣圖

df1=df[["評分","評分人數"]]

df1["排序"]=np.random.randint(1,100,396)

print(df1)

r1=pd.scatter_matrix(df1,diagonal="kde",color="k",alpha=0.3,figsize=(10,10))

#對于多個數據減的散點圖繪制函數參數設置,diagonal表示對角線圖像kde/hist(數據密度圖或者直方圖選擇)

5、#相關系數熱力圖

import seaborn as sns

corr=df1.corr()

corr=abs(corr)

ax=plt.figure(figsize=(10,8))

ax=sns.heatmap(corr,vmax=1,vmin=0,annot=True,annot_kws={"size":13,"weight":"bold"},linewidth=0.05)

plt.xticks(fontsize=15)

plt.yticks(fontsize=15)

plt.xlabel("數據名稱",fontsize=15)

plt.ylabel("數據名稱",fontsize=15)

plt.title("不同數據間相關系數矩陣圖",fontsize=20)

plt.show()

整體運行代碼如下:

import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

plt.rcParams["font.sans-serif"]=["SimHei"] #輸出圖像的標題可以為中文正常輸出

plt.rcParams["axes.unicode_minus"]=False #可以正常輸出圖線里的負號

import warnings

warnings.filterwarnings("ignore") #忽略相應的警告信息

df=pd.read_excel("D:/Byrbt2018/Study/Python數據分析課程+練習+講解/Python數據分析課程+練習+講解/作業/作業4/作業4/酒店數據1.xlsx")#導入w我們的表格數據文件

print(df)

print(df.index)

print(df.columns)

d=df[:5]

print(d)

#雙軸圖的繪制.twinx()

import matplotlib.mlab as mlab

fig=plt.figure(figsize=(10,8))

ax1=fig.add_subplot(1,1,1)

n,bins,patches=ax1.hist(df["評分"],bins=100,color="m")

ax1.set_ylabel("電影數量",fontsize=15)

ax1.set_xlabel("評分",fontsize=15)

ax1.set_title("頻率分布直方圖",fontsize=20)

y=mlab.normpdf(bins,df["評分"].mean(),df["評分"].std()) #生成正態分布函數

ax2=ax1.twinx() #定義新的雙軸圖函數

ax2.plot(bins,y,"b--")

ax2.set_ylabel("概率分布",fontsize=15)

#散點圖的繪制plt.scatter(x,y)繪制散點圖

x=df["評分人數"][::10]

y=df["評分"][::10] #隔10個點進行選取數據點

plt.figure(2)

plt.scatter(x,y,color="r",marker="p") #散點圖函數圖像輸出

plt.xlabel("評分",fontsize=15)

plt.ylabel("評分人數",fontsize=15)

plt.title("酒店評分與人數散點圖",fontsize=20)

#箱線圖的繪制

d=df[df.類型=="商務出行"]["評分"]

print(d)

plt.figure(4)

plt.boxplot(d,whis=1.5,flierprops={"marker":"o","markerfacecolor":"r","color":"g"},patch_artist=True,boxprops={"color":"k","facecolor":"g"})

#箱線圖的格式設置和調整

plt.title("商務出行酒店的評分數據分布",fontsize=17)

#多組數據的箱線圖

d1=df[df.類型=="浪漫情侶"]["評分"]

d2=df[df.類型=="地鐵周邊"]["評分"]

d3=df[df.類型=="休閑度假"]["評分"]

d4=df[df.類型=="海濱風光"]["評分"]

d5=df[df.類型=="交通方便"]["評分"]

d6=df[df.類型=="商務出行"]["評分"]

plt.figure(5)

plt.boxplot([d1,d2,d3,d4,d5,d6],labels=["浪漫情侶","地鐵周邊","休閑度假","海濱風光","交通方便","商務出行"],whis=1.5,flierprops={"marker":"o","markerfacecolor":"r","color":"g"},patch_artist=True,boxprops={"color":"k","facecolor":"g"}

,vert=True) #多組數據分布特征比較,vert決定了整體圖像的橫向與縱向

#坐標軸的編輯與改變

ax=plt.gca() #坐標軸的編輯與改變

ax.patch.set_facecolor("white") #設置坐標軸的背景顏色

ax.patch.set_alpha(0.3) #設置配色和透明度

plt.title("不同類型酒店的評分箱線圖",fontsize=20)

plt.xlabel("酒店類型",fontsize=15)

plt.ylabel("評分大小",fontsize=15)

#相關系數矩陣圖

df1=df[["評分","評分人數"]]

df1["排序"]=np.random.randint(1,100,396)

print(df1)

r1=pd.scatter_matrix(df1,diagonal="kde",color="k",alpha=0.3,figsize=(10,10))

#對于多個數據減的散點圖繪制函數參數設置,diagonal表示對角線圖像kde/hist

#相關系數熱力圖

import seaborn as sns

corr=df1.corr()

corr=abs(corr)

ax=plt.figure(figsize=(10,8))

ax=sns.heatmap(corr,vmax=1,vmin=0,annot=True,annot_kws={"size":13,"weight":"bold"},linewidth=0.05)

plt.xticks(fontsize=15)

plt.yticks(fontsize=15)

plt.xlabel("數據名稱",fontsize=15)

plt.ylabel("數據名稱",fontsize=15)

plt.title("不同數據間相關系數矩陣圖",fontsize=20)

plt.show()

輸出結果如下:

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/138211.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息