第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)

ggplot2学习之6——geom_histogram画频率分布直方图频率加倍问题 文章目录说明1、geom_histogram函数说明2、绘图举例3、画频率分布直方图频率加倍4、解决办法 说明 R语言的版本为4.0.2,IDE为Rstudio,版本为1.3.959。学习过程中参考了以下文章: R语言ggplot2频率分布直方图小例子(简书) 1、geom_histogram函数说明 # 该函数用于绘制直方图,主要参数含义如下 # geom_histogram( # mapping = NULL, # 映射 # data = NULL, # 数据集 # stat = 阅读详情
AI摘要

本文详细介绍使用R语言绘制各种数据分布图的方法,包括直方图、密度曲线、箱线图、2D等高线和2D密度图,通过实例代码展示了如何配置美学特征和图层,以直观呈现数据特征。

阅读目录

 

数据分布图简介

        中医上讲看病四诊法为:望闻问切。而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样;闻:仔细分析数据是否合理;问:针对前两步工作搜集到的问题与业务方交流;切:结合业务方反馈的结果和项目需求进行数据分析。

        "望"的方法可以认为就是制作数据可视化图表的过程,而数据分布图无疑是非常能反映数据特征(用户症状)的。R语言提供了多种图表对数据分布进行描述,本文接下来将逐一讲解。

 

绘制基本直方图

        本例选用如下测试集:

        直方图的横轴为绑定变量区间分隔的取值范围,纵轴则表示变量在不同变量区间上的频数。绘制时只需将基函数的美学特征集中配置好需要分析的变量,然后创建新的直方图图层即可。R语言示例代码如下:

1

2

3

4

# 基函数

ggplot(faithful, aes(x = waiting)) +

  # 直方图函数:binwidth设置组距

  geom_histogram(binwidth = 5, fill = "lightblue", colour = "black")

        运行结果:

 

基于分组的直方图

        本例选用如下测试集:

        直方图的分组图和本系列前面一些博文中讲的一些分组图不同,它不能进行水平方向的堆积 - 这样看不出频数变化趋势;也不能进行垂直方向的堆积 - 这样同样看不出趋势。这里采用一种新的堆积方法:重叠堆积,R语言实现代码如下:

1

2

3

4

5

6

7

# 预处理:将smoke变量转换为因子类型

birthwt$smoke = factor(birthwt$smoke)

 

# 基函数:x设置目标变量

ggplot(birthwt, aes(x = bwt, fill = smoke)) +

  # 直方图函数:position设置堆积模式为重叠

  geom_histogram(position = "identity", alpha = 0.4)

        运行结果:

        也可以采用分面的方法,R语言实现代码如下:

1

2

3

4

5

6

7

8

9

10

11

# 预处理1:将smoke变量转换为因子类型

birthwt$smoke = factor(birthwt$smoke)

# 预处理2:改变因子水平名称

birthwt$smoke = revalue(birthwt$smoke, c("0" = "No Smoke", "1" = "Smoke"))

 

# 基函数

ggplot(birthwt, aes(x = bwt)) +

  # 直方图函数

  geom_histogram(fill = "lightblue", colour = "black") +

  # 分面函数:纵向分面

  facet_grid(smoke ~ .)

        运行结果:

 

绘制密度曲线

        本例选用如下测试集:

        密度曲线表达的意思和直方图很相似,因此密度曲线的绘制方法和直方图也几乎是相同的。区别仅在于密度曲线的横轴要绑定到连续型变量,另外绘制函数的名字不同。R语言示例代码如下:

1

2

3

4

5

6

7

# 预处理:将smoke变量转换为因子类型

birthwt$smoke = factor(birthwt$smoke)

 

# 基函数:x设置目标变量,fill设置填充色

ggplot(birthwt, aes(x = bwt, fill = smoke)) +

  # 密度曲线函数:alpha设置填充色透明度

  geom_density(alpha = 0.3)

        运行结果:

 

绘制基本箱线图

        本例选用如下测试集:

        箱线图是一种常用数据分布图,下图表示了这种图中各元素的意义:

        绘制方法是在基函数中将变量分组绑定到横轴,变量本身绑定到纵轴。此外,为了美观也可以将分组绑定到fill变量并设置调色板。R语言示例代码如下:

1

2

3

4

5

6

# 基函数

ggplot(birthwt, aes(x = factor(race), y = bwt, fill = factor(race))) +

  # 箱线图函数

  geom_boxplot() +

  # 颜色标尺

  scale_fill_brewer(palette = "Pastel2")

        运行结果:

 

往箱线图添加槽口和均值

        在上一节绘制的基本箱线图之上,还能进一步绘制以展示更多信息。

        其中最常见的是为箱子添加槽口,它能更清晰的表示中位数的位置。R语言实现代码如下:

1

2

3

4

5

6

# 基函数

ggplot(birthwt, aes(x = factor(race), y = bwt, fill = factor(race))) +

  # 箱线图函数

  geom_boxplot(notch = TRUE) +

  # 颜色标尺

  scale_fill_brewer(palette = "Pastel2")

        运行结果:

        通过stat_summary()函数,还可以在箱线图中标记均值点。R语言实现代码如下:

1

2

3

4

5

6

# 基函数

ggplot(birthwt, aes(x = factor(race), y = bwt, fill = factor(race))) +

  # 箱线图函数

  geom_boxplot(notch = TRUE) +

  # 颜色标尺

  scale_fill_brewer(palette = "Pastel2")

        运行结果:

 

绘制2D等高线

        本例选用如下测试集:

        绘制2D等高线主要是调用stat_density()函数。这个函数会给出一个基于数据的二维核密度估计,然后我们可基于这个估计值来判断各样本点的"等高"性。接下来首先给出各数据点及等高线的绘制方法,R语言实现代码如下:

1

2

3

4

5

6

# 基函数

ggplot(faithful, aes(x = eruptions, y = waiting)) +

  # 散点图函数

  geom_point() +

  # 密度图函数

  stat_density2d()

        运行结果:

        也可以通过设置密度函数美学特征集中的colour参数来给不同密度的等高线着色,R语言实现代码如下:

1

2

3

4

# 基函数

ggplot(faithful, aes(x = eruptions, y = waiting)) +

  # 密度图函数:colour设置等高线颜色

  stat_density2d(aes(colour = ..level..))

        运行结果:

 

绘制2D密度图

        本例选用如下测试集:

        等高线图也是密度图的一种,因此绘制密度图和等高线图用的是同一个函数:stat_density(),只是它们传入的参数不同。首先绘制经典栅格密度图,R语言实现代码如下:

1

2

3

4

# 基函数

ggplot(faithful, aes(x = eruptions, y = waiting)) +

  # 密度图函数:fill设置填充颜色数据为密度,geom设置绘制栅格图

  stat_density2d(aes(fill = ..density..), geom = "raster", contour = FALSE)

        运行结果:

        也可以将密度变量映射到透明度来渲染,R语言实现代码如下:

1

2

3

4

5

ggplot(faithful, aes(x = eruptions, y = waiting)) +

  # 散点图函数

  geom_point() +

  # 密度图函数:alpha设置填充透明度数据为密度,geom设置绘制栅格图

  stat_density2d(aes(alpha = ..density..), geom = "raster", contour = FALSE)

        运行结果:

 

第六篇:R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)... 数据分布图简介         中医上讲看病四诊法为:望闻问切。而数据分析师分析数据的过程也有点相似,我们需要望:看看数据长什么样;闻:仔细分析数据是否合理;问:针对前两步工作搜集到的问题与业务方交流;切:结合业务方反馈的结果和项目需求进行数据分析。         "望"的方法可以认为就是制作数据可视化图表的过程,而数据分布图无疑是非常能反映数据特征(用户症状)的。R语言提供了多种图表对数据... 阅读详情

相关推荐

R语言系统教程(七):数据的分布(含多种图的绘制)

数据的数字特征刻画了数据的主要特征,而要对数据的总体情况做全面的描述,就要研究数据的分布。

TJangun的博客 2万+

数据分布图-直方图与核密度估计图

欢迎关注微信公众号(医学生物信息学),医学生的生信笔记,记录学习过程。ggplot2包提供了函数和函数,可以分别绘制统计直方图和核密度估计图。binwidth(箱形宽度)和bins(箱形总数)。函数的主要参数是bw(带宽)和kernel(核函数),kernel(核函数)默认为高斯核函数gaussian,还有其他核函数包括triangularbiweightcosineoptcosine。

大健康,医学信息,临床检验诊断学及视觉设计的交叉碰撞。 2556

R语言----制作数据分布图(直方图+概率密度曲线)

R语言--制作group1和group2的分布图并输出tiff格式300dpi保存 制作分布图我选择的是制作直方图+概率密度曲线~ ggplot(data,aes(value))+ #使用facet_grid()函数以group为类左右排列 facet_grid(group~.)+ #使用geom_histogram()制作密度分布图为aes(x=value,y=..density..)数量分布图为y=..count.. geom_histogram(bins=30,aes(x=value,

sqyao_147的博客 1万+

R语言作图——density plot(密度图)

原创 黄小仙 上次分享了小提琴曲线(violin plot)的作图方法,今天小仙同学给大家介绍一下如何用R画出漂亮的密度图(density plot)。 Step1. 绘图数据的准备 首先还是要把你想要绘图的数据调整成R语言可以识别的格式excel中保存成csv格式。 数据的格式如下图:一列表示一种变量,第一行是列名 Step2. 绘图数据的读取 data<-read.csv(“your...

生信了 16万+

R语言数据可视化-箱线图

一、概述 箱线图(bar plot)又叫箱须图(box-whisker plot)在医学科技论文中经常有用到,用于展示数据的大致分布特征,也用于探索异常值和离群点。平行排列的箱线图可以用于比较在某个分类变量各个类别下某指标的分布。R语言使用函数 barplot() 创建箱线图。 二、数据集 下面我将以R语言自带的anorexia数据集为例介绍函数barplot()的用法。该数据集来自于一项关于不同治疗方式下体重变化的临床试验研究。其中的反应变量wt.change记录了每位接受Cont、CBT和FT治疗方式下

笑不语的博客 2万+

R语言:填色等值线图及其色标(color bar)设置

在气象数据分析中,经常用填色等值线图来表现气象要素的空间分布特点,R语言中filled.contour函数可以作出类似的图形。

偷闲阁 4万+

R语言 | 数据分析——统计绘图

本篇文章详细介绍了R语言中与数据分析相关的统计绘图函数及相应的代码实现。

天下弈星~的博客 6036

累积分布图(R语言):绘制数据的累积分布情况

最后,我们使用labs函数来设置x轴和y轴的标签,以及设置图表的标题。累积分布图(Cumulative Distribution Plot),也称为CDF图,是一种用于展示数据的累积分布情况的可视化工具。通过绘制累积分布图,我们可以更好地理解数据的分布和变化情况,进而进行更深入的数据分析和决策。除了使用ggplot2包,我们还可以使用MASS包中的truehist函数来绘制累积分布图。在这段代码中,我们使用truehist函数传入数据向量,col参数用于设置直方图的颜色,main参数用于设置图表的标题。

ByteLegend的博客 1173

关于hist()函数与geom_histogram()

关于hist()函数与geom_histogram() 写论文时,我使用R画频数分布图时,我发现R自带的hist()与ggplot2中的geom_histogram()画出来的图有区别,开始我直接使用geom_histogram()画频数分布直方图添加密度曲线以及正态分布曲线图时,画出来了这样的图,这离大谱,函数没错,画出来这是什么玩意儿。 解决方法 画了hist()line(density())的图像,反复对比多次,我发现两张图纵坐标数值有很大差异。我就尝试调试geom_h

qq_45311161的博客 1807

R语言可视化密度图(density plot)、使用plot函数可视化密度图

R语言可视化密度图(density plot)、使用plot函数可视化密度图

statistics+insight+vista+power 1517

bert-ini:一种基于bert的实体对齐交互模型

本次分享一项来自IJCAI-20的实体对齐工作,该工作提出了一种不同于以往的采用图结构信息进行实体对齐的技术方案,该方案取得了当时的最好效果;不仅如此,模型本身的对齐效率在该项工作中也被考虑,实际工作中非常具备借鉴意义。

qq_33331424的博客 3152

R 数据可视化 —— ggplot 直方图与密度图

密度图是直方图的平滑版本,用于计算并绘制数据的核密度估计,能够更好的界定分布的形状。绘制堆积密度图,可能通常并不是想要看密度的堆积形式,而可能更想要看的是数量的堆积形式。适用于比较分类变量的不同水平之间的分布差异。直方图是将单个变量分隔成若干个区间,并对区间内的观测值进行计数。参数的值,所以只要设置其中一个参数就可以了。或者绘制密度曲线,来比较不同水平的分布情况。类似于直方图,我们也可以绘制镜像密度图。参数的值,用于调整带宽,例如。最简单的方式是绘制一条密度曲线。参数的值,该参数值会覆盖。

dxs18459111694的博客 1350

Pytorch的一小步,昇腾芯片的一大步

相信在AI圈的人多多少少都看到了最近的信息:PyTorch最新2.1版本宣布支持华为昇腾芯片!

机器学习-深度学习-图像处理-opencv-段子 5241

R语言数据可视化之数据分布图(直方图、密度曲线、箱线图、等高线、2D密度图)...

作者:穆晨来源:https://www.cnblogs.com/muchen/p/5310732.html阅读目录数据分布图简介绘制基本直方图基于分组的直方图绘制密度曲线绘制基本...

大数据技术派 1万+

PX4飞控参数详解-Multicopter Position Control​多旋翼位置控制

Maximum horizontal velocity for which position hold is enabled (use 0 to disable check)//启用悬停时的最大水平速度(使用 0 可禁用此检查)(仅适用MPC_POS_MODE 0 或 MPC_ALT_MODE 2)Maximum horizontal and vertical jerk in Position/Altitude mode//位置/高度模式下的最大水平和垂直加加速度。

u013096791的博客 1817

i.MX RT1064引脚配置与BGA封装选型实战指南

在嵌入式硬件设计中,引脚配置与PCB布局是连接芯片手册与物理实现的关键桥梁,直接影响系统的稳定性与信号完整性。其核心原理在于理解处理器的IOMUX(输入/输出多路复用器)系统与多电源域架构,前者通过软件配置实现引脚功能的灵活复用,后者则为不同外设接口提供独立的电压基准,是保障电源稳定性的基石。从技术价值看,合理的引脚规划能规避信号干扰、电源不稳等潜在风险,提升设计一次成功率。在应用场景上,无论是连接SDRAM、USB、SDIO等高速外设,还是配置UART、I2C等中低速接口,都需要遵循特定的布局布线规则。本

weixin_33217202的博客 314

R语言可视化 (第 1 期):直方图 histogram

直方图也叫频数分布图或柱状图。什么是直方图?我们生动的介绍一下 想象一下,你正站在一个大型超市的某个过道中,周围堆满了各种各样的商品。你开始注意到,一些商品的价格分布得非常不均匀。有些商品的价格非常低,而有些则价格颇高。你想要了解这个过道上商品价格的整体分布情况,于是你拿出了一张空白的纸和一支笔。现在,你开始记录起来。你将纵轴分成了几段,代表着不同价格的范围,比如说0到10美元、10到20美元、20到30美元,以此类推。然后你沿着水平轴绘制出了一系列的条形,每个条形的宽度代表了价格范围,而条形的高度则

a2225487的博客 8807

【OpenClaw企业级智能体实战】第16篇:电商“龙虾”掘金记:用OpenClaw实现小红书/抖音/淘宝全自动矩阵运营(2026实测版)

2026年,OpenClaw(小龙虾)已成为电商运营的核心效率工具——从公众号文案3分钟生成到TikTok爆款视频1小时复刻,从多平台内容同步到自动比价加购,彻底重构了电商运营的工作模式。本文基于真实商业案例(元岳科技、TikTok跨境卖家、淘宝MCP工具),系统拆解电商智能体的落地路径:先详解OpenClaw在电商场景的核心原理与变现模式(代部署、模板售卖、轻定制、内容套利),再提供阿里云/本地双部署方案,完整实现小红书/抖音/淘宝的自动化运营(热点抓取、内容生成、多平台分发、数据分析)。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2288

R语言:统计直方图和核密度估计图

一、前言 统计直方图也叫频数分布直方图。图形类似柱形图,却与柱形图有着完全不同的作用,主要用于观察连续型变量的分布情况。 统计直方图的作用如下: 显示各组频数或数据分布情况;比较各组之间频数或数量的差异;观察数据的集中趋势;识别数据的异常情况。 核密度估计图是统计直方图的变种,通过平滑曲线绘制连续型变量的分布。相较于统计直方图,核密度估计图能更好地刻画连续型变量的分布形状。核密度估计图的作用与统计直方图一致。 1.1 统计直方图-示例 文献来源 原始图片 1.2 核密度估计图-示例 文献来源 原始图片

qq_42734624的博客 2628

彻底解析 DDIC_TYPE_INCONSISTENCY:从 ABAP ST22 连环 Dump 到 SE14 一键修复

听上去像内核级的致命故障,实则更多源于日常运维的细枝末节。只要掌握的排查三板斧,结合严格的变更流程与周期性的字典体检,再严重的 Dump 也能化险为夷。希望本文的案例与步骤能帮助读者在下一次遇到类似问题时,既能快速止血,也能追根溯源,避免重蹈覆辙。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 629

大模型角色提示词写得再严密,也能被绕过?我用攻击者思维把自己吓了一跳!

很多人以为提示词是“只要写清楚了,模型就能理解”,但实际上——模型并不具备严格的规则意识,它只是在预测下一句话。所以我们必须从“攻防”角度出发,设计更强的防护机制。我这次就是亲身踩坑,用红队思维模拟攻击,才意识到原来提示词注入这么容易中招。你如果也在做 AI 应用、角色系统、提示词驱动的功能,建议你也用类似方式测试一下,不然被绕了都不知道。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1026

可视化系列汇总——排序关系

这个系列的推文,只是给出了最简约的图形,并没有在美观上进行设计。主要让读者了解,绘制什么图形,应该使用什么函数/包。具体的美观设计,暂时不做设计,可以在主题、配色上做文章。下面的代码可以作为一个示例框架,告诉您如何绘制这个图形。图形是通过线段,竖线构成,之后添加文字。,得到的示意图如下。通过将粗条转变为细线,减少了杂乱,使图形看起来更美观。点图非常类似于棒棒糖图,但没有线条,并且各标签都在水平位置上。为了得到哑铃的正确顺序,Y 变量应该是一个因子,因子变量的水平应该与它在图中出现的顺序相同。

qq_37379316的博客 844

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

概率密度函数曲线及绘制

概率密度函数曲线

帅帅de三叔 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

python可视化学习(十八)直方密度曲线图

#直方密度曲线图 #就是直方图与密度图的结合,将两图放入到同一个图形,就可以分析出直方图与密度图传达的信息 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline #如果用jupyter notebook则需要这行代码让你的图像显示,如果是jupyterlab则不需要 plt.rcParams['font.sans-serif']=['Si

feiwenyang的博客 3537

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: R语言与直方图与核密度图
下一篇: 【R 语言 可视化】在直方图上面添加密度曲线
It_BeeCoder
博客等级 码龄10年 967粉丝 238原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值