雨云图使用半小提琴图和 R 中的抖动数据点
在本文中,我们将讨论如何在 R 中使用带有抖动数据点的 Half Violin Plot 创建雨云图
Raincloud plots 或 Half Violin plots 基本上用于同时可视化数据的分布和整体摘要。该图是半小提琴图与顶部抖动点、箱线图的组合,可以通过添加趋势中心度量、四分位范围等来进一步增强。
使用的数据集
这里让我们使用“iris”数据集。这是 R 中的内置数据集。
R
# Loading the packages
library(ggplot2)
library(plyr)
# load the iris data
df <- iris
head(df)
R
# Loading the packages
library("ggplot2")
library("plyr")
# load the iris data
df <- iris
# Code to plot a raincloud
ggplot(df, aes(Species, Sepal.Length, fill=Species)) +
geom_flat_violin() +
coord_flip() +
theme(legend.position = "none")
R
# Loading the packages
library("ggplot2")
library("plyr")
# load the iris data
df <- iris
# Code for Raincloud plot with jittered data points
ggplot(df, aes(Species, Sepal.Length, fill=Species)) +
geom_flat_violin() +
coord_flip() + geom_jitter(alpha = 0.5,width = 0.15)+
theme(legend.position = "none")
R
# Loading the packages
library("ggplot2")
library("plyr")
# load the iris data
df < - iris
# Code for positioning the raincloud plot
ggplot(df, aes(Species, Sepal.Length, fill=Species)) +
geom_flat_violin(position=position_nudge(x=.2, y=0)) +
coord_flip() + geom_jitter(alpha=0.5, width=0.15, aes(color=Species)) +
theme(legend.position="none")
R
# Loading the packages
library("ggplot2")
library("plyr")
# load the iris data
df < - iris
# Code to plot Raincloud and boxplot
ggplot(df, aes(Species, Sepal.Length, fill=Species)) +
geom_flat_violin(position = position_nudge(x = .2, y = 0)) +
coord_flip() + geom_jitter(alpha = 0.5,width = 0.15) +
theme(legend.position = "none") +
geom_boxplot( width = .25, outlier.shape = NA )
输出:
使用 ggplot 绘制 Raincloud
示例 1:简单的 Raincloud 图
让我们为虹膜数据集的物种与萼片长度绘制雨云/半小提琴图。
R
# Loading the packages
library("ggplot2")
library("plyr")
# load the iris data
df <- iris
# Code to plot a raincloud
ggplot(df, aes(Species, Sepal.Length, fill=Species)) +
geom_flat_violin() +
coord_flip() +
theme(legend.position = "none")
输出:
示例 2:顶部有抖动数据点的 Raincloud
让我们看看如何使用 geom_jitter()函数在 Raincloud 图上添加抖动数据点。
R
# Loading the packages
library("ggplot2")
library("plyr")
# load the iris data
df <- iris
# Code for Raincloud plot with jittered data points
ggplot(df, aes(Species, Sepal.Length, fill=Species)) +
geom_flat_violin() +
coord_flip() + geom_jitter(alpha = 0.5,width = 0.15)+
theme(legend.position = "none")
输出:
示例 3:定位 Raincloud 图
让我们看看如何调整 Half violin 图相对于抖动数据点的位置。
R
# Loading the packages
library("ggplot2")
library("plyr")
# load the iris data
df < - iris
# Code for positioning the raincloud plot
ggplot(df, aes(Species, Sepal.Length, fill=Species)) +
geom_flat_violin(position=position_nudge(x=.2, y=0)) +
coord_flip() + geom_jitter(alpha=0.5, width=0.15, aes(color=Species)) +
theme(legend.position="none")
输出:
示例 4 :带有箱线图的雨云图
让我们看看如何在半小提琴图旁边绘制一个箱线图,以便进一步了解这些特征。
R
# Loading the packages
library("ggplot2")
library("plyr")
# load the iris data
df < - iris
# Code to plot Raincloud and boxplot
ggplot(df, aes(Species, Sepal.Length, fill=Species)) +
geom_flat_violin(position = position_nudge(x = .2, y = 0)) +
coord_flip() + geom_jitter(alpha = 0.5,width = 0.15) +
theme(legend.position = "none") +
geom_boxplot( width = .25, outlier.shape = NA )
输出: