如何在 R 中使用 ggplot2 制作半小提琴图?
半小提琴图基本上用于同时可视化数据的分布和整体摘要。它们也被称为雨云图。半小提琴图与顶部抖动点、箱线图的组合可以通过添加趋势的中心度量、四分位范围等来进一步增强。使用此图,我们可以获得有关数据的密度、关键汇总统计数据和整体范围的见解。
在本文中,让我们看看如何使用 R 编程语言中的 ggplot2 包绘制半小提琴图。
安装并加载所需的包:
让我们安装和加载 ggplot2 和 ggforce 包。
R
# Install and Load the packages
install.packages("ggplot2")
install.packages("ggforce")
library(ggplot2)
library(ggforce)
R
# Load the diamonds dataset
df <- diamonds
head(df)
R
# simple half violin plot
ggplot(df, aes(cut , x, fill = cut)) +
geom_flat_violin() +
theme(legend.position = "none")
R
# Horizontal half violin plot
ggplot(df, aes(cut, x, fill = cut)) +
geom_flat_violin() +coord_flip() +
theme(legend.position = "none")
R
# Half violin plot with color
ggplot(df, aes(cut,x, color=cut)) +
geom_flat_violin() + coord_flip()+
theme(legend.position = "none")
R
# half violin plot with jittered points
ggplot(df, aes(cut, x, fill = cut)) +
geom_flat_violin(position = position_nudge(x = .2, y = 0)) +
geom_jitter(alpha = 0.01, width = 0.15) +
theme(legend.position = "none")
加载数据集:
让我们加载一个名为 diamonds 的内置数据集。
R
# Load the diamonds dataset
df <- diamonds
head(df)
输出:
使用 ggplot2 绘制半小提琴图
示例 1 :简单的半小提琴情节
让我们为钻石数据集的切割与 x 绘制半小提琴图。
R
# simple half violin plot
ggplot(df, aes(cut , x, fill = cut)) +
geom_flat_violin() +
theme(legend.position = "none")
输出:
示例 2 :水平半小提琴图
让我们检查一下使用 coord_flip()函数水平对齐 Half violin 图。
R
# Horizontal half violin plot
ggplot(df, aes(cut, x, fill = cut)) +
geom_flat_violin() +coord_flip() +
theme(legend.position = "none")
输出:
示例 3 :水平半小提琴图,颜色由剪切填充
让我们检查一下水平绘制半小提琴图并按列切割填充颜色。
R
# Half violin plot with color
ggplot(df, aes(cut,x, color=cut)) +
geom_flat_violin() + coord_flip()+
theme(legend.position = "none")
输出:
示例 4 :水平半小提琴图,旁边有抖动的数据点
让我们看看绘制一个半小提琴图以及抖动点。
R
# half violin plot with jittered points
ggplot(df, aes(cut, x, fill = cut)) +
geom_flat_violin(position = position_nudge(x = .2, y = 0)) +
geom_jitter(alpha = 0.01, width = 0.15) +
theme(legend.position = "none")
输出: