0

我想从 2D 数值数据创建一个箱形图或小提琴图,非常类似于图 1A 和 1B 中给出的图(Goodman 等人,Science,2003 年)并在下面给出:

二维箱线图

给定 xy 数据,在 ggplot2 中是否有一种直观的方法可以做到这一点?

本质上,我认为我需要先对 x 数据进行 bin 处理,然后汇总 y 数据以进行绘图,但我不知道如何利用 ggplot 函数来执行此操作。

4

1 回答 1

1

由于您没有提供示例数据,我将展示一个使用随机数据的基本示例。您可以创建中断以使用该函数对数据进行分组cut,然后boxplot创建图表。

根据

set.seed(12)
y <- rnorm(1000)
x <- rnorm(1000)
rng <- seq(-3, 3, 0.5)
boxplot(y ~ cut(x, breaks = rng), las = 2)

在此处输入图像描述

使用 ggplot2

set.seed(12)
y <- rnorm(1000)
x <- rnorm(1000)
df <- data.frame(x = cut(x, breaks=rng), y= y)
ggplot(data = df, aes(x= x , y= y)) + geom_boxplot(aes(fill = x))

在此处输入图像描述

于 2015-08-28T21:06:57.890 回答