实战Pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图):

1、箱形图,又称为盒式图,一般可以很好地反映出数据分布的特征,也可以进行多项数据之间分布特征的比较,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据

其中的一些参数具体含义及其计算过程如下:

2、双轴图的绘制代码:import numpy as npimport matplotlib.pyplot as pltimport pandas as pdplt.rcParams["font.sans-serif"]=["SimHei"] #输出图像的标题可以为中文正常输出plt.rcParams["axes.unicode_minus"]=False #可以正常输出图线里的负号import warningswarnings.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 mlabfig=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 snscorr=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()

输出结果如下:

欢迎来到技术之家,

如需转载,烦请保留本文链接和出处:http://www.jszja.com/contents/80/1392.html

您的支持将是我们前进的动力!如对本篇文章有疑问或建议,请通过本站下方邮箱联系我们,让技术之家每天进步一点点!(●'◡'●)

python画密度散点图_实战Pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图)...相关推荐

  1. python画多层网络_在pymn中修改多层网络图

    这里有一个解决方案,您只使用networkx来创建多层图,并且您可以自己计算节点位置.在 为了解释这个问题,我们随机创建了一个由30个节点组成的小图.在 层是具有附加属性的子图:(x,y)坐标和颜色. ...

  2. python画相关系数矩阵图_pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))...

    //2019.07.23 1.箱形图,又称为盒式图,一般可以很好地反映出数据分布的特征,也可以进行多项数据之间分布特征的比较,它主要包含五个基础数据:中位数,两个上下分位数以及上下边缘线数据 其中的一 ...

  3. python画热力图(相关系数矩阵图)

    使用热力图的形式展示包括相关系数矩阵图的二维矩阵的方法,目前发现有两个: 首先是使用pandas包的函数,但是pandas包的目测,不能显示数字? 如果想试一下,可以参考https://zhuanla ...

  4. python画交互式地图_使用Python构建交互式地图-入门指南

    python画交互式地图 Welcome to The Beginner's Guide to Building Interactive Maps in Python 欢迎使用Python构建交互式地 ...

  5. 怎么用python画皮卡丘_实现童年宝可梦,教你用Python画一只属于自己的皮卡丘

    原标题:实现童年宝可梦,教你用Python画一只属于自己的皮卡丘 大数据文摘出品 作者:李雷.蒋宝尚 还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗? 还记得和小伙伴拿着精灵球,一起召唤小精灵的中二模 ...

  6. python画棒棒糖程序_论文画图神器!25个常用Matplotlib图的Python代码,收藏收藏!...

    作者:zsx_yiyiyi 编辑:python大本营 大家好,今天要分享给大家25个Matplotlib图的汇总,在数据分析和可视化中非常有用,文章较长,可以马起来慢慢练手. # !pip insta ...

  7. python画三维立体图-如何在论文中画出漂亮的插图?

    ----2020.08.07增---- 看到评论区有人说"没代码没教程所以没帮助"-- 好吧,我寻思链接.参考资料都在回答中给出来了呀(可能不够明显?) 于是,重新整理.注释了一下 ...

  8. python画圆形螺旋线_这个Python项目,一秒生成可爱像素风图片

    本文转自:量子位,作者郭一璞整理来自:大邓和他的 Python像文字云一样,用各种小图拼出大的图片,构建一个像素风的世界,就像<我的世界>里一样,一定非常有趣.还可以拿来做拼贴画.十字绣等 ...

  9. python画爱心原理_程序员式优雅表白,教你用python代码画爱心

    还能用python代码画爱心?还有这种操作?这是什么原理? 不相信python代码可以画爱心?先来一张效果图来看看效果吧!PyCharm pro Mac-PyCharm pro for Mac( Py ...

  10. 用python画机器猫代码_如何用Python画一只机器猫?| 原力计划

    原标题:如何用Python画一只机器猫?| 原力计划 作者 | 人邮异步社区 责编 | 胡巍巍 出品 | CSDN博客 自信心是成功的源泉,对刚入门编程行业的初级程序员来说,多敲代码多做项目就是构建自 ...

最新文章

  1. 二十万字!耗时90天
  2. 怎么判断一个字符串的最长回文子串是否在头尾_LeetCode5:最长回文子串
  3. 使用vuex实现父组件调用子组件方法
  4. 无插件HTML,HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)分享!
  5. python中编函数_在python中编写函数
  6. [Windows Phone 7] Storage
  7. c语言argc,C语言 argc和argv
  8. 生成器(generator)
  9. 二扩域元素与整数的转换
  10. 创建Orcale数据库链接访问外部数据库
  11. micropython入门 stm32_STM32F4系列使用MicroPython开发
  12. 好用的轻量级http接口测试工具(替代PostMan)
  13. Mac连局域网打印机
  14. Inverse design of 3d molecular structures with conditional generative neural networks(2022论文阅读)
  15. twitter全自动发推_如何阻止Twitter视频自动播放
  16. ibm服务器如何查看内存型号,ibmx3650m4不识别|认不出内存怎么办|内存安装规则要求...
  17. 长大后才知道,成年人的哭原来没有声音
  18. AWS - 查看操作历史 - CloudTrail
  19. 网站用户行为分析项目之会话切割(一)
  20. 数据研发人员必备工具

热门文章

  1. python统计图的三层结构设计_中大型LABVIEW软件三层设计架构(带图片目录完整版)...
  2. PHP之tp3点击刷新验证码登录
  3. MATLABR2018自学一本通笔记
  4. 日常中的迅捷PDF转换器
  5. java中md5加密和解密_java的MD5加密与解密
  6. php全套之七,php程序员工具箱
  7. Django菜鸟入门笔记(1)
  8. 新版DAEMON Tools Lite打不开 bin 文件解决方法
  9. WOW装备大全(07.11.30)
  10. 在Android Studio 中使用Assets资源文件