📜  雨云图使用半小提琴图和 R 中的抖动数据点

📅  最后修改于: 2022-05-13 01:55:43.919000             🧑  作者: Mango

雨云图使用半小提琴图和 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 ) 

输出