分享ggpubr 包:教你绘制密度图、直方图、柱状图
今天我们要分享的R包是 ggpubr 包,它是一款基于ggplot2的可视化包,功能非常强大,能够一行命令绘制出符合出版物要求的图形。ggpubr 包可绘制的图形类型非常多,有密度图、直方图、柱状图、饼图、棒棒糖图、Cleveland 点图、箱线图、小提琴图、点带图、点图、散点图、线图、误差棒图……哈哈,有木有很期待接下来这个 ggpubr 包的学习了呢!别急,这个包的内容实在是有点多哈,接下来我们会分3期进行详细的讲解,记得紧跟我们的学习哦~
先简单介绍一下今天要分享的绘图内容,分别有:密度图、直方图、柱状图、饼图、棒棒糖图、Cleveland 点图。
接下来,先安装 ggpubr 包:
# Install from CRAN:install.packages("ggpubr")library(ggpubr)
密度图
#先构建数据集
set.seed(1234)df1 <- data.frame(sex=factor(rep(c("F", "M"), each=200)), weight=c(rnorm(200, 55), rnorm(200, 58)))
head(df1)# sex weight# 1 F 53.79293# 2 F 55.27743# 3 F 56.08444# 4 F 52.65430# 5 F 55.42912# 6 F 55.50606
tail(df1)# sex weight# 395 M 58.52875# 396 M 58.78939# 397 M 58.45710# 398 M 58.53883# 399 M 58.01464# 400 M 57.08351
# 基础样式,添加均值线和地毯线,密度图展示不同性别分组下体重的分布,X轴为体重,Y轴为自动累计的密度ggdensity(df1, x = "weight", fill = "lightgray", add = "mean", rug = TRUE)
# 根据分组设置线条颜色和填充
ggdensity(df1, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex", palette = c("#00AFBB", "#E7B800"))
# 更改自定义颜色ggdensity(df1, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex", palette = "npg")
# 限定x轴取值范围ggdensity(df1, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex", palette = "npg") + xlim(53,60)
# 设置分组分面,更改边框线类型ggdensity(df1, x = "weight", facet.by = "sex", linetype = "dashed", add = "mean", rug = TRUE, color = "sex", fill = "sex", palette = c("#00AFBB", "#E7B800"))
接下来我们详细解读一下用到的 ggdensity 函数:用法:
ggdensity(data, x, y = "..density..", combine = FALSE, merge = FALSE, color = "black", fill = NA, palette = NULL, size = NULL, linetype = "solid", alpha = 0.5, title = NULL, xlab = NULL, ylab = NULL, facet.by = NULL, panel.labs = NULL, short.panel.labs = TRUE, add = c("none", "mean", "median"), add.params = list(linetype = "dashed"), rug = FALSE, label = NULL, font.label = list(size = 11, color = "black"), label.select = NULL, repel = FALSE, label.rectangle = FALSE, ggtheme = theme_pubr(), ...)
参数:篇幅有限,没有用到的自行探索~,有的参数在后面的其他图形还会讲解
data
所需的数据框 dataframe
x
进行作图所需的数据
y
设置为密度/数量(density/count)
combine
对于多个变量的数据是否分面
merge
对于多个变量的数据是否合并,默认是FALSE
color, fill
线条颜色与填充色
palette
自定义颜色画板
size
设置点和轮廓的大小
linetype
线条类型
alpha
透明度设置
title
设置标题
xlab
设置x轴标题
ylab
设置y轴标题
facet.by
设置分组分面
panel.labs
设置分面各组的标题
short.panel.labs
是否缩写分面标题,逻辑值,默认是TRUE。
add
添加均值线或中位数线,选项有"mean" or "median"
add.params
给add参数的对象添加其他参数/属性
rug
逻辑值,若为TRUE,在X轴上添加地毯线显示样本的分布
label
设置列标签
font.label
设置标签字体
repel
逻辑值,是否使用ggrepel避免字体重叠
label.rectangle
是否给标签添加方框
ggtheme
设置画图主题
直方图
用到的数据还是 df1,直方图只是把密度还原成了原始数据counts值gghistogram(df1, x="weight", add = "mean", rug = TRUE, fill = "lightgray")
# 按照分组设置边框颜色gghistogram(df1, x="weight", add = "mean", rug = TRUE, color ="sex", palette = c("#00AFBB", "#E7B800"))
# 按照分组设置填充颜色
gghistogram(df1, x="weight", add = "mean", rug = TRUE, fill = "sex", palette = c("#00AFBB", "#E7B800"))
# 同时设置边框和填充颜色gghistogram(df1, x="weight", add = "mean", rug = TRUE, color = "sex", fill = "sex", palette = c("#00AFBB", "#E7B800"))

图片新闻
最新活动更多
-
6月13日立即参评>> 【评选】维科杯·OFweek2025中国工业自动化及数字化行业年度评选
-
7.30-8.1火热报名中>> 全数会2025(第六届)机器人及智能工厂展
-
7月30-31日报名参会>>> 全数会2025中国激光产业高质量发展峰会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 宾采尔激光焊接领域一站式应用方案在线研讨会
-
精彩回顾立即查看>> 【在线会议】安森美Hyperlux™ ID系列引领iToF技术革新
推荐专题
- 1 智造赋能,生态共融:大联大携手产业伙伴,共绘新质工业宏伟蓝图
- 2 谁将成为行业榜样?维科杯·OFweek2025中国工业自动化及数字化行业年度评选等您来参与!
- 3 开目新一代MOM:AI赋能高端制造的破局之道
- 4 【重磅来袭】6月17日上海见!全球智造巨头聚首,60余场前沿论坛,制造业数字化盛会邀您共启数智破局之旅!
- 5 安森美正式参评“维科杯·OFweek 2025中国工业自动化与数字化行业优秀产品奖”
- 6 当数智工业邂逅大湾区,看PHIIDF2025如何破界,链动全球!
- 7 世界计量日盛会启幕,聚焦测量体系变革:质量、效率与动力
- 8 欧姆龙正式参评“维科杯·OFweek 2025中国工业自动化与数字化行业优秀产品奖”
- 9 iEi威强电邀您共襄AIAE Expo 2025北京国际工业自动化盛会,探索智能工业新边界!
- 10 展会首日速递 | iEi威强电亮相北京AIAE Expo 2025,客户云集共话智能工业未来
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论