博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Matplotlib学习---用seaborn画直方图,核密度图(histogram, kdeplot)
阅读量:5925 次
发布时间:2019-06-19

本文共 1017 字,大约阅读时间需要 3 分钟。

由于直方图受组距(bin size)影响很大,设置不同的组距可能会产生完全不同的可视化结果。因此我们可以用密度平滑估计来更好地反映数据的真实特征。具体可参见这篇文章:

 

还是用我们自己创建的一组符合正态分布的数据来画图。

 

准备工作:先导入matplotlib,seaborn和numpy,然后创建一个图像和一个坐标轴

import numpy as npfrom matplotlib import pyplot as pltimport seaborn as snsfig,ax=plt.subplots()

 

用seaborn画核密度图:  sns.kdeplot(x,shade=True)

 

让我们在用matplotlib画好的直方图的基础上画核密度图:

import numpy as npfrom matplotlib import pyplot as pltimport seaborn as snsfig,ax=plt.subplots()np.random.seed(4) #设置随机数种子Gaussian=np.random.normal(0,1,1000) #创建一组平均数为0,标准差为1,总个数为1000的符合标准正态分布的数据ax.hist(Gaussian,bins=25,histtype="stepfilled",normed=True,alpha=0.6)sns.kdeplot(Gaussian,shade=True)plt.show()

 

图像如下:

注意:导入seaborn包后,绘图风格自动变为seaborn风格。

 

另外,可以用distplot命令把直方图和KDE一次性画出来。

 

用seaborn画直方图和核密度图:  sns.distplot(x)

 

代码如下:

import numpy as npfrom matplotlib import pyplot as pltimport seaborn as snsnp.random.seed(4) #设置随机数种子Gaussian=np.random.normal(0,1,1000) #创建一组平均数为0,标准差为1,总个数为1000的符合标准正态分布的数据sns.distplot(Gaussian) plt.show()

 

图像和上面基本一致:

 

转载于:https://www.cnblogs.com/HuZihu/p/9470937.html

你可能感兴趣的文章
创业故事和创业思路文档汇总
查看>>
解决centos7 yum安装MySQL rpm包出现conflict problem
查看>>
Python-字典
查看>>
PL/SQL Virtual Machine Memory Usage
查看>>
The certificate used to sign "" has either expired or has been revoked.
查看>>
Linux目录结构
查看>>
CSS浮动
查看>>
Script:Logfile Switch Frequency Map
查看>>
linux系统学习第四天
查看>>
Lnmp+Wordpress出现控制台页面No Input File Specified
查看>>
mongoDB数据库安装与配置
查看>>
system()命令注入
查看>>
Linux上文件的特殊权限SUID,SGID,SBIT详解
查看>>
Linux用户和组的命令之groupdel
查看>>
Facebook的AR战略背后,有哪些人工智能技术加持?
查看>>
12c 关于DMON你应该知道的!
查看>>
打开haproxy的日志
查看>>
python语法部分
查看>>
配置ECS上自建MySQL作为RDS从库过程中踩到的坑
查看>>
【AWS系列】镭速RaySync VS FTP (2)- AWS巴西圣保罗到阿里云深圳
查看>>