1、绘制箱线图
1)作用
箱线图是由一组数据的最大值、最小值、中位数、两个四分位数(上、下四分位数)这五个特征值绘制而成的,它主要的作用是反应原始数据分布的特征,还可以进行多组数据分布特征的比较。
2)语法格式与相关参数说明
① 语法格式
plt.axhline(x,vert,widths,labels)
② 参数说明
x表示要绘制图型的数据源
vert表示箱线图方向,如果为True则表示纵向;如果为False则表示横向;默认为True。
widths表示箱线图的宽度。
labels表示箱线图的标签。
3)演示说明
① 绘制8门课程考试成绩的箱线图
df = pd.read_excel(r"C:\Users\黄伟\Desktop\matplotlib.xlsx",sheet_name="直方图") plt.figure(figsize=(6,5),dpi=100) labels = ["英语","经济数学","西方经济学","市场营销学","财务管理", "基础会计学","统计学","计算机应用基础"] x = [df["英语"],df["经济数学"],df["西方经济学"],df["市场营销学"], df["财务管理"],df["基础会计学"],df["统计学"],df["计算机应用基础"]] widths = np.array([0.5]*8) plt.boxplot(x,labels=labels,vert=True,widths=widths,patch_artist = True, boxprops={'color':'orangered','facecolor':'pink'}) plt.xticks(rotation=70) plt.yticks(np.arange(50,101,10)) plt.title("8门课程考试成绩的箱线图",fontsize=15) plt.tight_layout() plt.savefig("8门课程考试成绩的箱线图",dpi=300)
结果如下:
② 绘制11名学生考试成绩的箱线图
df = pd.read_excel(r"C:\Users\黄伟\Desktop\matplotlib.xlsx",sheet_name="箱线图1") plt.figure(figsize=(6,5),dpi=100) labels = ["学生"+str(i) for i in range(1,12)] x = [df[1],df[2],df[3],df[4],df[5],df[6],df[7],df[8],df[9],df[10],df[11]] widths = np.array([0.5]*11) plt.boxplot(x,labels=labels,vert=True,widths=widths,patch_artist = True, boxprops={'color':'orangered','facecolor':'pink'}) plt.xticks(rotation=70) plt.yticks(np.arange(50,101,10)) plt.title("11名学生考试成绩的箱线图",fontsize=15) plt.tight_layout() plt.savefig("11名学生考试成绩的箱线图",dpi=300)
结果如下:
2、绘制散点图与气泡图(所用参数一致)
1)作用
散点图作用:散点图是用二维坐标展示两个变量之间关系的一种图形,强调是衡量两个变量之间的关系。
气泡图作用:气泡图用于展示三个变量之间的关系。与散点图类似,绘制时将一个变量放在横轴,另一个变量放在纵轴,而第三个变量则是用气泡的大小来表示。
注意:散点图,气泡图所有的参数一致。
2)语法格式与相关参数说明
① 语法格式
plt.scatter(x,y,s,c,marker,linewidths,edgecolors)
② 参数说明
x,y表示散点的坐标。
s表示散点的大小。
c表示每个点的颜色。
makers表示每个点的标记。
linewidths表示每个散点的线宽。
edgecolors表示每个散点外轮廓的颜色。
3)演示说明
① 绘制小麦产量与降雨量的散点图
df = pd.read_excel(r"C:\Users\黄伟\Desktop\matplotlib.xlsx",sheet_name="散点图与气泡图") plt.figure(figsize=(6,5),dpi=100) x = df["降雨量"] y = df["产量"] plt.scatter(x,y,c="orangered",marker="o",s=100) plt.title("小麦产量与降雨量的散点图") plt.xlabel("降雨量") plt.ylabel("产量") plt.xticks(np.arange(0,141,20)) plt.yticks(np.arange(0,10001,2000)) plt.tight_layout() plt.savefig("小麦产量与降雨量的散点图",dpi=300)
结果如下:
② 绘制小麦产量与降雨量和温度的气泡图
df = pd.read_excel(r"C:\Users\黄伟\Desktop\matplotlib.xlsx",sheet_name="散点图与气泡图") plt.style.use('fivethirtyeight') plt.figure(figsize=(6,5),dpi=100) x = df["温度"] y = df["降雨量"] colors = y*10 area = y*10 plt.scatter(x,y,c=colors,marker="o",s=area) plt.title("小麦产量与降雨量和温度的气泡图",fontsize=15) plt.xlabel("降雨量") plt.ylabel("产量") plt.xticks(np.arange(0,26,5)) plt.yticks(np.arange(0,141,20)) plt.grid(True,axis="y") for xy in zip(x,y): plt.annotate("{}".format(xy[1]),xy=xy,ha="center",va="center",color="black") plt.tight_layout() plt.savefig("小麦产量与降雨量和温度的气泡图",dpi=300)
结果如下:
3、雷达图
1)作用
雷达图是显示多个变量的常用图示方法。雷达图在显示或对比各变量的数据总和时十分有用。此外,利用雷达图也可以研究多个样本之间的相似程度。
2)演示说明
① 绘制城乡居民家庭人均消费支出构成的雷达图
plt.figure(figsize=(6,4),dpi=100) ### 有几个构成,n就是几 n = 8 ### 数据源序列 data1 = df["城镇居民"] data2 = df["农村居民"] ### 平分角度 angles = np.linspace(0,2*np.pi,n,endpoint=False) ### 每个角度上对应的标签 labels = ["食品","衣着","家庭设备用品及服务","医疗保健", "交通通讯","教育文化娱乐服务","居住","杂项商品与服务"] ### 将数据源形成一个闭合的环 data1 = np.append(x1,x1[0]) data2 = np.append(x2,x2[0]) ### 将角度形成一个闭合的环 angles = np.append(angles,angles[0]) ### 绘图 plt.polar(angles,data1,"r*--",linewidth=1,label="城镇") plt.polar(angles,data2,"go-",linewidth=1,label="农村") plt.thetagrids(angles*180/np.pi,labels) plt.ylim(0,50) plt.legend(loc=(1,0.9)) plt.tight_layout() plt.savefig("城乡居民家庭人均消费支出构成的雷达图",dpi=300)
结果如下: