核密度图(直方图的拟合曲线)

2023-05-16

核密度图可以看作是概率密度图,其纵轴可以粗略看做是数据出现的次数,与横轴围成的面积是一.

法一:seaborn的kdeplot函数专门用于画核密度估计图.

参考:https://www.jianshu.com/p/844f66d00ac1

https://yq.aliyun.com/articles/682843


import pandas as pd
import numpy as np
import matplotlib.pylab as plt
import os
import seaborn as sns

## 有时候要FQ才能下载
# df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")
# df.to_csv('../data/mpg_ggplot2.csv', index=False)
df = pd.read_csv('../data/mpg_ggplot2.csv')

print(df.info())
print(df.shape)
# Draw Plot
plt.figure(figsize=(16,10), dpi= 90)  # dpi用于设置输出figure中所有字体的大小
# 将cyl列等于4的cty筛选出来做图
sns.kdeplot(df.loc[df['cyl'] == 4, "cty"], shade=True, color="g", label="Cyl=4", alpha=0.5)
sns.kdeplot(df.loc[df['cyl'] == 5, "cty"], shade=True, color="deeppink", label="Cyl=5", alpha=.5)
sns.kdeplot(df.loc[df['cyl'] == 6, "cty"], shade=True, color="dodgerblue", label="Cyl=6", alpha=.5)
sns.kdeplot(df.loc[df['cyl'] == 8, "cty"], shade=True, color="orange", label="Cyl=8", alpha=.5)
# Decoration
plt.title('Density Plot of City Mileage by n_Cylinders', fontsize=22)
plt.legend()
plt.show()  
View Code

 displot()是将直方图和核密度图综合,


import pandas as pd
import numpy as np
import matplotlib.pylab as plt
import os
import seaborn as sns

## 有时候要FQ才能下载
# df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv")
# df.to_csv('../data/mpg_ggplot2.csv', index=False)
df = pd.read_csv('../data/mpg_ggplot2.csv')

# distplot图是直方图hist()和核密度图kdeplot()图的合体,
# bins参数用于调节直方图的数量
# 官网链接:http://seaborn.pydata.org/generated/seaborn.distplot.html
# 参数解释:http://www.sohu.com/a/158933070_718302
plt.figure(figsize=(16,10), dpi= 90)
sns.distplot(df.loc[df['cyl'] == 4, "cty"],  color="g", label="Cyl=4", bins = 100 )
sns.distplot(df.loc[df['cyl'] == 5, "cty"],  color="deeppink", label="Cyl=5", bins= 10 )
plt.legend()
plt.show()  
View Code

 

给定一组连续值的数据,将它们分成若干小段,统计每个小段中数据的个数,并画出它们的直方图和拟合曲线.

法二:利用seaborn中的包可以快速实现,这里的拟合曲线默认不是正态曲线,而是更好的拟合了数据的分布情况,但通过参数fit可以设置拟合正态曲线.


import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.set(style="ticks")
from sklearn import datasets
from scipy.stats import norm

iris = datasets.load_iris()   # 载入鸢尾花数据集
x = iris.data[:,0]            # 取narry中的第一列
sns.set_palette("hls")        #设置所有图的颜色,使用hls色彩空间
# sns.distplot( x,color="r",bins=100,kde=True,)# hist=False)
# hist和kde参数默认都是True,分别用于控制是否展现直方图和拟合的曲线图
# fit可用于指定拟合正态分布,要导入from scipy.stats import norm
sns.distplot( x,bins=30, hist=True,kde_kws={'color': 'green', 'lw':3, 'label':'x'}, hist_kws={'color': 'red', 'alpha': 0.2})
plt.show()  
View Code

官网教程:http://seaborn.pydata.org/generated/seaborn.distplot.html?highlight=distplot#seaborn.distplot

参考:https://www.jianshu.com/p/65395b00adbc

法三:利用round()函数保留小数点后一位或两位,再groupby作图,但效果远不如第一种.


f_train['VAR00007'] = f_train['VAR00007'].apply( lambda x: round(x, 1))
f_train = f_train.groupby(['VAR00007'])['VAR00007'].agg(['count']).reset_index()
f_train.sort_values(['VAR00007'], )
ydata = f_train['VAR00007'].tolist()
x = f_train['count'].tolist()
ydata.sort(reverse=False)
plt.scatter( ydata, x)
plt.show()  
View Code

 

转载于:https://www.cnblogs.com/xxswkl/p/11184267.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

核密度图(直方图的拟合曲线) 的相关文章

  • 常用HTTP消息头

    Cache control Cache Control 是最重要的规则 这个字段用于指定所有缓存机制在整个请求 响应链中必须服从的指令 这些指令指定用于阻止缓存对请求或响应造成不利干扰的行为 这些指令通常覆盖默认缓存算法 缓存指令是单向的
  • 用rplidar建图 运行rbx1_nav/gmapping_demo.launch报错

    1 rplidar开启 2 turtlrbot bringup 3 运行 roslaunch rbx1 nav gmapping demo launch 报如下错误 xff1a MessageFilter target 61 odom Dr
  • FreeRTOS 和uCOS II的简单比较

    转载 xff1a http www viewtool com bbs forum php mod 61 viewthread amp tid 61 114 这是两种RTOS 现在粗略比较一下 freeRTOS比uCOS II优胜的地方 xf
  • ubuntu配置XManager可用

    前提 xff1a 确保XManager所在PC和ubuntu所在主机的网络可相互访问 一 配置ubuntu 1 安装gdm软件 sudo apt get install gdm 安装后配置成默认的light模式即可 2 查看是否已经安装 s
  • ROS 自定义消息类型

    引言 学习ROS的过程中 xff0c 在话题的发布与订阅之间 xff0c 我一直在思考 xff0c 我们能不能定义自己的话题名 xff0c 甚至在编写我们自己的ROS软件包时 xff0c 定义我们自己的消息类型 首先能不能定义自己的话题名
  • char ch= 中 什么意思java_问一下java里的char到底是什么

    我们上课用的联系学java的软件是readytoprogramJAVAIDE xff0c 学到char变量的时候出了点问题 xff0c 教材上教的是让我们输 xff1a charch1 ch2 ch3 ch1 61 c readChar c
  • 理科大学可能类似纹路里

    11月5日 xff0c 第二届上海市政府新闻办公室推出全新形象片 上海 恒新之城 xff0c 以更为开放 更求创新 更讲包容的姿态展示新时代的风采 xff0c 迎接的到来 开放 创新 包容已成为上海最鲜明的品格 xff0c 这种品格是新时代
  • 三星 S10 运行 Ubuntu 系统

    导读DeX 是一种模仿桌面操作系统的用户 UI 界面 xff0c 把支持 DeX 的三星手机用数据线连上外置显示器 xff0c 用户就可以获得一种类似桌面系统的使用体验 三星 S8 Note 8 S9 Note 9 S10 系列都支持 De
  • Ubuntu的妥协将支持精选的32位应用

    据外媒Tom 39 s hardware xff0c Ubuntu开发人员Canonical在早先的时候宣布Ubuntu 19 10将不再更新32位软件包和应用程序 xff0c 引来了诸多应用开发者的不满 现在 xff0c Ubuntu方面
  • Jdk升级到11引起的问题:程序包javax.xml.bind.annotation不存在

    Jdk升级到11引起的问题 xff1a 程序包javax xml bind annotation不存在 Jdk12 都发布了 xff0c 我也下载一个玩一玩吧 刚准备要下载 xff0c 发现之前已经下载了一个11 xff0c 那就11 吧
  • 车载系统测试-功能测试第一天

    一 混动车型测试前注意 1 踩刹车加启动按钮 xff0c 进入ok模式 xff0c OK模式下可以进行常规测试 xff1b 点击启动按钮进入acc on模式 xff1b 在ok模式下 xff0c 充电不可用时可以踩油门进行充电 xff1b
  • 去除office非正版提示的方法(转)

    又是office的问题 每次回家都碰到相关问题 这次是微软正版计划的认证 去百度一下发现是一个 34 Office 正版增值计划通知 KB949810 CHS 34 补丁的问题 症状是 打开Office中的相应组件如WORD xff0c 那
  • 在SQLSERVER中如何检测一个字符串中是否包含另一个字符串

    当charindex返回值大于0时则包含 为0不包含 select CHARINDEX 39 456 39 39 123456 39 SQL语句使用CHARINDEX函数 xff0c 来测试一个字符串中是否包含另一个字符串中的方法 xff1
  • vim全选,全部复制,全部删除

    全选 xff08 高亮显示 xff09 xff1a 按esc后 xff0c 然后ggvG或者ggVG 全部复制 xff1a 按esc后 xff0c 然后ggyG 全部删除 xff1a 按esc后 xff0c 然后dG 解析 xff1a gg
  • FTP命令收集

    FTP FTP命令是Internet用户使用最频繁的命令之一 xff0c 熟悉并灵活应用FTP的内部命令 xff0c 可以大大方便使用者 xff0c 并收到事半功倍之效 如果你想学习使用进行后台FTP下载 xff0c 那么就必须学习FTP指
  • 如何屏蔽Chrome新标签页中8个缩略图

    PS xff1a 该经验本源来百度 雨燕之子 技术流匠师 xff0c 然本文图片等整理均属原创 第一步 xff1a 安装扩展Stylish 第二步 xff1a 安装成功红写入新样式 xff0c 名称自己起个喜欢的就好 xff0c 代码内容
  • VNC 登录上去灰屏,没有shell脚本,鼠标变成X

    CenterOS 1 安装vncserver yum install tigervnc server y 2 vncpasswd 设置pwd 3 etc sysconfig vncservers VNCSERVER 61 34 1 root
  • 计算机编程之高级语言

    高级语言 High level programming language 相对于机器语言 machine language xff0c 是一种指令集的体系 这种指令集 xff0c 称机器码 machine code xff0c 是电脑的CP
  • C/C++ 笔试,难倒我哉

    2012 6 27日下午 xff0c 去了一个软件公司笔试面试 xff0c 3道题目 xff0c 都是 C 语言的编程题 xff0c 题意简单明了 xff0c 写起来好麻烦 xff0c 而且是在纸上写的 xff0c 平常习惯了写写改改 xf
  • 【C++实现python字符串函数库】一:分割函数:split、rsplit

    C 43 43 实现python字符串函数库 split 与rsplit 方法 前言 本系列文章将介绍python提供的字符串函数 xff0c 并尝试使用C 43 43 来实现这些函数 这些C 43 43 函数在这里做单独的分析 xff0c

随机推荐

  • python处理excel链接_Python处理Excel文件实例代码

    由于工作需要 需要检查是否一个查询的一部分内容是有效的 查询存储在Excel中 文本内容页面的标题 和页面的URL格式中的每个细胞的超链接 所以我本能地想到使用Python来读取Excel文件并执行文本分析 然后为每个链接时 执行一个Htt
  • 无所事事的周末

    按理说 xff0c 晚上睡得很早 xff0c 早上应该起得早 不幸的是 xff0c 酒精已经渗入身体 xff0c 身体多个部位都不舒服 早上起的是很迟的 xff0c 已经到了上午十点钟 xff0c 起来后并没有做什么事情 xff0c 和舍友
  • CocosCreator的节点显示和隐藏

    隐藏和显示有两种方式 xff1a 1 禁止节点node的运行 xff0c 方法是x node active 61 false 此时隐藏了节点 xff0c 且节点不再运行 恢复节点正常运行 xff0c x node active 61 tru
  • php获取mysql数据并导出为txt_php提交过来的数据生成为txt文件

    一共两个文件 xff0c 具体链接数据库的部分给直接去除了 xff0c 前台是提交的文字部分 xff0c 一行一个 xff0c 在提交后另一个程序文件进行处理 xff0c 然后按照提交的文件名生成相应的txt 文件 xff0c 并在txt
  • (?!)正则表达式的用法

    xff08 xff1f xff01 xff09 表示不匹配一段字符串中的指定字符串 xff0c 例如 xff1a flag 61 True 指匹配指定部位的布尔值 xff0c 可以写成 xff1a s 43 flag s 43 61 s 4
  • HTML5资源汇总(更新游戏引擎cocos2d-html5)

    我也是现学现用 xff0c 想了解的可以看看效果 xff0c 想知道实现的也有源码 http cocos2d html5 org Cocos2d HTML5 API和Cocos2d x一致 xff0c 同样的代码可以支持cocos2d x
  • Sumo 模型细节_VehicleSpeed

    在仿真中 xff0c 对车速的影响是多方面的 每一种影响都为车速设定了上限 在任何给定情况下的实际速度是所有影响的最小速度 maxSpeed lt vType gt attribute maxSpeed 可以被认为是发动机的最大速度或驾驶员
  • python的一些语法糖

    1 Python中if else语句的多种写法 a b c 61 1 2 3 1 常规 if a gt b c 61 a else c 61 b 2 表达式 c 61 a if a gt b else b 3 二维列表 c 61 b a a
  • Ubuntu下安装使用Xfce4

    安装 xff1a 代码 sudo apt get install xfce4 xfce4 taskbar plugin xfce4 taskbar plugin是我需要 xff0c 你可不用 xff0c 完整安装xfce4 的桌面环境 su
  • 彻底卸载Xubuntu Kubuntu

    卸载Xubuntu sudo apt remove activity log manager apg apport gtk apt offline aptdaemon aptdaemon data atril atril common bi
  • Wincap安装出现“error opening file for writing wpcap.dll”之解决办法

    Wincap安装出现 error opening file for writing wpcap dll 之解决办法 安装Wireshark时 xff0c 一直出现下面的错误 xff0c 选择忽略这个错误 xff0c Wireshark能正常
  • sqlserver调用webapi

    1 开启组件 xff08 2012以上版本支持 xff09 sp configure 39 show advanced options 39 1 GO RECONFIGURE GO sp configure 39 Ole Automatio
  • 贪吃蛇c语言代码 vc++6.0,贪吃蛇代码-C语言版-VC++6.0

    这是一个贪吃蛇代码 运行环境VC 43 43 6 0 该程序不需要graphics h头文件 这是一个贪吃蛇代码 xff0c 运行环境VC 43 43 6 0 亲测完美运行 该程序在dos系统下运行 xff0c 不需要graphics h头
  • indent expected

    缩进问题 检查代码缩进 转载于 https www cnblogs com gcixx p 11448437 html
  • kibana配置文件说明书

    端口号 server port 5601 kibana服务安装的地址 server host 34 192 168 122 21 34 当使用代理时 xff0c 这里可能对应的是加工后的kibana的URL server basePath
  • ORACLE 清理SYSAUX表空间

    在数据库检查中发现SYSAUX表空间占用过大 xff0c SYSAUX是ORACLE10G开始提供的功能 xff0c 用于数据库为SYSTEM表空间减负 用以下语句查出相应的表空间值 select a tablespace name tru
  • Ubuntu怎么切换为中文版

    Ubuntu怎么切换为中文版 1 打开Ubuntu 2 打开设置 系统设置 xff1b 3 进入Language Support xff1b 4 安装语言 xff1b 5 这时在语言菜单中可以看到安装好的汉语 xff1b 6 将安装好的语言
  • django rest framework自定义返回格式

    一 默认response view from rest framework generics import ListAPIView from serializer import IdcSerializer from models impor
  • Go used as value问题

    练习Go变参时遇到一个报错 xff1a used as value 代码如下 xff1a 错误代码 func myfunc arg int for n 61 range arg fmt Printf 34 And the number is
  • 核密度图(直方图的拟合曲线)

    核密度图可以看作是概率密度图 xff0c 其纵轴可以粗略看做是数据出现的次数 xff0c 与横轴围成的面积是一 法一 xff1a seaborn的kdeplot函数专门用于画核密度估计图 参考 xff1a https www jianshu