ggMarginal(
# ggplot2对象
p, type = c("density", "histogram", "boxplot", "violin", "densigram"), # 边缘图的类型
margins = c("both", "x", "y"), # 在哪边绘制
size = 5, # 主图形的大小
...,xparams = list(), # 向X轴(上方)的边缘图,添加绘图的更多参数
yparams = list(),
groupColour = FALSE, # 逻辑值,颜色是否分组
groupFill = FALSE # 逻辑值,填充是否分组
)
ggExtra:为散点图添加边缘分布图(R语言)
ggExtra包可以为ggplot2对象的散点图,添加边缘的数据分布图,能分布图的类型有很多,例如,核密度图,箱线图,直方图。
如图所示,中间点的是ggplot2对象的散点图,上右两边的核密度图,分别对应了X轴和Y轴的数据分布情况。
函数解释:
下面我们来看看具体是如何使用的吧
核密度图
# 代码来源:https://www.r2omics.cn/
library(ggplot2)
library(ggExtra)
# 先用ggplot2绘制一个普通的散点图
<- ggplot(`iris`, aes_string('Sepal.Length', 'Sepal.Width')) +
p aes_string(colour = 'Species') +
geom_point() +
theme_bw() +
theme(legend.position = "bottom")
# 用ggExtra包中的ggMarginal函数绘制边缘分布图
ggMarginal(
p,type = 'density',
margins = 'both',
size = 5,
groupColour = TRUE,
groupFill = TRUE
)
直方图
::ggMarginal(
ggExtra
p,type = 'histogram',
margins = 'both',
size = 5,
groupColour = TRUE,
groupFill = TRUE,
xparams = list(bins=10)
)
箱线图
::ggMarginal(
ggExtra
p,type = 'boxplot',
margins = 'both',
size = 5,
groupColour = TRUE,
groupFill = TRUE,
xparams = list(bins=10)
)
小提琴图
::ggMarginal(
ggExtra
p,type = 'violin',
margins = 'both',
size = 5,
groupColour = TRUE,
groupFill = TRUE,
xparams = list(bins=10)
)
密度曲线图
::ggMarginal(
ggExtra
p,type = 'densigram',
margins = 'both',
size = 5,
groupColour = TRUE,
groupFill = TRUE,
xparams = list(bins=10)
)