如何添加线条以连接 R 中多个箱形图中的某些数据点?
How to add lines to connect certain data points across multiple boxplots in R?
我正在尝试创建一个类似于 this 的图表,其中每个箱形图的一个特定数据点通过红线连接到下一个。
我当前的代码是:
p <- ggplot(melt_opt_base, aes(factor(variable), value))
p + geom_boxplot() + labs(x = "Variable", y = "Value")
并且当前图表看起来像 this。假设要连接的数据点是:
points = c(0, 0.1, 0.2, 0.3, 0, 0.2, 0.2, 0.1, 0.3)
有谁知道如何在九个相邻的箱线图中添加一条连接这些点的线,使其看起来像 this instead?
这可以这样实现:
- 用你的类别和点值制作一个数据框
- 将此数据帧作为数据传递给
geom_line
和或 geom_point
使用 ggplot2::diamonds
作为示例数据:
library(ggplot2)
points <- aggregate(price ~ cut, FUN = mean, data = diamonds)
points
#> cut price
#> 1 Fair 4358.758
#> 2 Good 3928.864
#> 3 Very Good 3981.760
#> 4 Premium 4584.258
#> 5 Ideal 3457.542
ggplot(diamonds, aes(cut, price)) +
geom_boxplot() +
geom_point(data = points, color = "red") +
geom_line(data = points, aes(group = 1), color = "red")
我正在尝试创建一个类似于 this 的图表,其中每个箱形图的一个特定数据点通过红线连接到下一个。
我当前的代码是:
p <- ggplot(melt_opt_base, aes(factor(variable), value))
p + geom_boxplot() + labs(x = "Variable", y = "Value")
并且当前图表看起来像 this。假设要连接的数据点是:
points = c(0, 0.1, 0.2, 0.3, 0, 0.2, 0.2, 0.1, 0.3)
有谁知道如何在九个相邻的箱线图中添加一条连接这些点的线,使其看起来像 this instead?
这可以这样实现:
- 用你的类别和点值制作一个数据框
- 将此数据帧作为数据传递给
geom_line
和或geom_point
使用 ggplot2::diamonds
作为示例数据:
library(ggplot2)
points <- aggregate(price ~ cut, FUN = mean, data = diamonds)
points
#> cut price
#> 1 Fair 4358.758
#> 2 Good 3928.864
#> 3 Very Good 3981.760
#> 4 Premium 4584.258
#> 5 Ideal 3457.542
ggplot(diamonds, aes(cut, price)) +
geom_boxplot() +
geom_point(data = points, color = "red") +
geom_line(data = points, aes(group = 1), color = "red")