ggplot2作分组箱线图并添加均值点连线
时间: 2024-03-13 11:48:03 浏览: 288
Python-使用ggplot2绘制等高线和等值线
要在ggplot2中绘制分组箱线图并添加均值点连线,可以使用以下步骤:
1. 准备数据
首先,需要准备数据,包括分组变量和数值变量。可以使用R中的内置数据集`ToothGrowth`作为例子:
```
data(ToothGrowth)
```
2. 绘制分组箱线图
使用ggplot2中的`geom_boxplot()`函数绘制分组箱线图,并使用`facet_wrap()`函数按照分组变量进行分面:
```R
library(ggplot2)
ggplot(ToothGrowth, aes(x = factor(dose), y = len, fill = factor(supp))) +
geom_boxplot() +
facet_wrap(~supp)
```
3. 计算均值并添加连线
使用dplyr包中的`group_by()`和`summarise()`函数计算每组数据的均值,并使用`geom_point()`和`geom_line()`函数添加均值点和连线:
```R
library(dplyr)
mean_data <- ToothGrowth %>%
group_by(supp, dose) %>%
summarise(mean_len = mean(len))
ggplot(ToothGrowth, aes(x = factor(dose), y = len, fill = factor(supp))) +
geom_boxplot() +
geom_point(data = mean_data, aes(x = dose, y = mean_len), shape = 21, size = 3, fill = "white") +
geom_line(data = mean_data, aes(x = dose, y = mean_len, group = supp), size = 1) +
facet_wrap(~supp)
```
这样就可以绘制出分组箱线图并添加均值点连线。其中,`geom_point()`函数用于添加均值点,`geom_line()`函数用于添加连线,`shape`和`fill`参数用于控制均值点的形状和颜色,`size`参数用于控制均值点和连线的大小。
阅读全文