本博客主要介绍使用R语言利用ggplot绘制散点图,并且在图像的两边绘制边际分布图(包括边际直方图与边际密度函数)
我们这里介绍两种方法进行绘制:
- 主要使用
ggExtra
结合ggplot2
两个R包进行绘制。(胜在简洁方便) - 使用
cowplot
与ggpubr
进行绘制。(胜在灵活且美观)
下面的绘图我们均以iris数据集为例。
1. 使用ggExtra
结合ggplot2
1)传统散点图
# library
library(ggplot2)
library(ggExtra)
# classic plot
p <- ggplot(iris) +
geom_point(aes(x = Sepal.Length, y = Sepal.Width, color = Species), alpha = 0.6, shape = 16) + # alpha 调整点的透明度;shape 调整点的形状
theme_bw() +
theme(legend.position = "bottom") + # 图例置于底部
labs(x = "Sepal Length", y = "Sepal Width") # 添加x,y轴的名称
p
下面我们一行代码添加边际分布(分别以密度曲线与直方图的形式来展现):
2)密度函数
# marginal plot: density
ggMarginal(p, type = "density", groupColour = TRUE, groupFill = TRUE)
3)直方图
# marginal plot: histogram
ggMarginal(p, type = "histogram", groupColour = TRUE, groupFill = TRUE)
4)箱线图(宽窄的显示会有些问题)
# marginal plot: boxplot
ggMarginal(p, type =