pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图。。。//2019.07.23
,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据
其中的⼀些参数具体含义及其计算过程如下:
2、双轴图的绘制代码:
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import warnings
warnings.filterwarnings("ignore") #忽略相应的警告信息
ad_excel("D:/Byrbt2018/Study/Python数据分析课程+练习+讲解/Python数据分析课程+练习+讲解/作业/作业4/作业4/酒店数据1.xlsx")#导⼊w我们的表格数据⽂件
print(df)
print(df.index)
lumns)
d=df[:5]
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)
pdf(bins,df["评分"].mean(),df["评分"].std()) #⽣成正态分布函数
ax2=ax1.twinx() #定义新的双轴图函数
ax2.plot(bins,y,"b--")
ax2.set_ylabel("概率分布",fontsize=15)
y=df["评分"][::10] #隔10个点进⾏选取数据点
plt.figure(2)
plt.scatter(x,y,color="r",marker="p") #散点图函数图像输出
plt.xlabel("评分",fontsize=15)
plt.ylabel("评分⼈数",fontsize=15)
",fontsize=20)
"]["评分"]
matplotlib中subplotprint(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"})
#箱线图的格式设置和调整
",fontsize=17)
"]["评分"]
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决定了整体图像的横向与纵向
#坐标轴的编辑与改变
a() #坐标轴的编辑与改变
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(数据密度图或者直⽅图选择)
()
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.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
import warnings
warnings.filterwarnings("ignore") #忽略相应的警告信息
ad_excel("D:/Byrbt2018/Study/Python数据分析课程+练习+讲解/Python数据分析课程+练习+讲解/作业/作业4/作业4/酒店数据1.xlsx")#导⼊w我们的表格数据⽂件
print(df)
print(df.index)
lumns)
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)
pdf(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决定了整体图像的横向与纵向
#坐标轴的编辑与改变
a() #坐标轴的编辑与改变
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=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.xlabel("数据名称",fontsize=15)
plt.ylabel("数据名称",fontsize=15)
plt.title("不同数据间相关系数矩阵图",fontsize=20)
plt.show()
输出结果如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论