R|散点图+边际图(柱形图,小提琴图),颜值UP

简介: R|散点图+边际图(柱形图,小提琴图),颜值UP



散点图作为一种展示2组连续变量关系的常用可视化方式之一,添加点,线,箭头,线段,注释,甚至函数,公式,方差表都没有问题。

ggplot2-annotation|画图点“精”,让图自己“解释”

R-ggpmisc|回归曲线添加回归方程,R2,方差表,香不香?

本文简单的介绍2种散点图添加边际图的方法。


一 载入数据,R包

使用经典数据集iris

library(ggplot2) #加载ggplot2包
library(ggExtra)
library(ggstatsplot)
data(iris)
head(iris)

二 ggplot2 + ggExtra绘制边际散点图


使用ggplot2绘制散点图,然后利用ggExtra包的函数添加边际柱形图

2.1 绘制基础散点图

p1 <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
 geom_point(color = "#00AFBB")
p1

2.2 添加一点点细节

1)添加横轴,数轴线;

2)添加R2 和 P值

3)添加回归曲线


p2 <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
 geom_point(color = "#00AFBB") +
 geom_smooth(method="lm", se=T) +
 geom_hline(yintercept = 3, linetype = "dashed", color = "blue") +
 geom_vline(xintercept = 6, linetype = "dashed", color = "red") +
 annotate("text", x=4.5, y=4.25, parse=TRUE,
          label="r^2 == 0.0138 * ' p-value = 0.1529' ")
p2

既然是ggplot2绘制的,那更多细节还不是按照需求直接加就行嘛


2.3 添加边际条形图

使用ggMarginal添加, Type 可选参数 histogram, densityboxplot.

ggMarginal(p2, type="histogram", fill="#00AFBB")

三 ggstatsplot绘制边际散点图


直接使用ggstatsplot包的ggscatterstats函数绘制

library(ggstatsplot)
ggscatterstats(
 data = iris,                                          
 x = Sepal.Length,                                                  
 y = Sepal.Width,
 xlab = "Sepal Length",
 ylab = "Sepal Width",
 marginal = TRUE,
 marginal.type = "densigram",
 margins = "both",
 xfill = "blue", # 分别设置颜色
 yfill = "#009E73",
 title = "Relationship between Sepal Length and Sepal Width",
 messages = FALSE
)

其中marginal.type可选 histograms,boxplots,density,violin,densigram (density + histogram);可自行尝试效果。


OK,文献中常见的带边际图的散点图就绘制好了!更多参数设置详见参考资料。

相关文章
|
机器学习/深度学习
这图怎么画| 相关性热图+柱状图
这图怎么画| 相关性热图+柱状图
131 0
|
数据挖掘
这图怎么画| 有点复杂的散点图
这图怎么画| 有点复杂的散点图
57 0
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
1471 1
R实战 | 对称云雨图 + 箱线图 + 配对散点 + 误差棒图 +均值连线
|
3月前
|
Python
matplotlib画出猪价格走势图
matplotlib画出猪价格走势图
135 0
|
7月前
R语言中绘制箱形图的替代品:蜂群图和小提琴图
R语言中绘制箱形图的替代品:蜂群图和小提琴图
|
7月前
|
数据可视化 定位技术 网络架构
R语言在地图上绘制月亮图、饼状图数据可视化果蝇基因种群
R语言在地图上绘制月亮图、饼状图数据可视化果蝇基因种群
|
数据挖掘
这图怎么画| 批量小提琴图+箱线图+散点+差异分析
这图怎么画| 批量小提琴图+箱线图+散点+差异分析
317 0
跟着 Cell 学作图 | 柱状图+误差棒+蜂群图
跟着 Cell 学作图 | 柱状图+误差棒+蜂群图
198 0
|
数据挖掘
这图怎么画| 箱线图+散点+中位数连线
这图怎么画| 箱线图+散点+中位数连线
132 0
|
存储 数据可视化 数据处理
ggalluvial | 冲击图/ 桑基图绘制
ggalluvial | 冲击图/ 桑基图绘制
237 0