我无法使用ggplot/ggpattern自定义图例。
- "SPEED"图例不应显示任何图案(仅显示3种颜色)
- "TYPE"图例应使用自定义文本代替0和1
谢谢!
代码:
remotes::install_github("coolbutuseless/ggpattern")
library(ggplot2)
library(ggpattern)
list <- c("1" = "circle", "0" = "none")
ggplot(tt) +
aes(x = SOUND, y = R, fill = SPEED, pattern = TYPE) +
geom_boxplot_pattern(pattern_fill = "white",
pattern_density = 0.6,
pattern_spacing = 0.012,
outlier.size = 1) +
scale_pattern_manual(values = list) +
scale_fill_brewer(palette = "Set1") +
labs(y = "R", title = "R") +
ylim(0,100) +
theme_minimal()
数据样本:
structure(list(ID = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 34L, 34L, 34L, 34L, 34L,
34L, 34L, 34L, 34L, 35L, 35L, 35L, 35L, 35L, 35L, 35L, 35L, 35L,
35L, 35L, 35L, 36L, 36L, 36L, 36L, 36L, 36L, 36L, 36L, 36L, 36L,
36L, 36L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L, 37L,
37L, 38L, 38L, 38L, 38L, 38L, 38L), .Label = c("1", "2", "3",
"4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15",
"16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26",
"27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37",
"38", "39", "40", "41", "42", "43", "44", "45", "46", "47"), class = "factor"),
TYPE = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L), .Label = c("0", "1"), class = "factor"), SPEED = structure(c(1L,
1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 1L, 2L, 3L, 1L, 1L, 1L, 2L,
2L, 2L, 3L, 3L, 3L, 1L, 2L, 3L, 1L, 1L, 1L, 2L, 2L, 2L, 3L,
3L, 3L, 1L, 2L, 3L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 1L,
2L, 3L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 1L, 2L, 3L, 1L, 1L,
1L, 2L, 2L, 2L, 3L, 3L, 3L, 1L, 2L, 3L, 1L, 1L, 1L, 2L, 2L,
2L, 3L, 3L, 3L, 1L, 2L, 3L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L,
3L, 1L, 2L, 3L, 1L, 1L, 1L, 2L, 2L, 2L), .Label = c("1",
"2", "3"), class = "factor"), SOUND = structure(c(1L, 2L,
3L, 1L, 2L, 3L, 1L, 2L, 3L, 4L, 4L, 4L, 1L, 2L, 3L, 1L, 2L,
3L, 1L, 2L, 3L, 4L, 4L, 4L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L,
3L, 4L, 4L, 4L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 4L, 4L,
4L, 1L, 2L, 1L, 2L, 3L, 1L, 2L, 3L, 4L, 4L, 4L, 1L, 2L, 3L,
1L, 2L, 3L, 1L, 2L, 3L, 4L, 4L, 4L, 1L, 2L, 3L, 1L, 2L, 3L,
1L, 2L, 3L, 4L, 4L, 4L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L,
4L, 4L, 4L, 1L, 2L, 3L, 1L, 2L, 3L), .Label = c("1", "2",
"3", "4"), class = "factor"), R = c(64, 77, 32, 75, 80, 38,
79, 57, 17, 54, 54, 50, 52, 58, 34, 30, 46, 0, 63, 51, 1,
18, 55, 18, 76, 77, 26, 60, 17, 0, 68, 62, 0, 1, 64, 43,
71, 37, 38, 53, 59, 20, 67, 55, 37, 43, 61, 58, 81, 73, 62,
54, 36, 51, 57, 27, 55, 49, 56, 75, 92, 62, 92, 92, 62, 87,
92, 62, 89, 92, 92, 92, 60, 36, 73, 14, 62, 76, 55, 45, 78,
68, 18, 92, 85, 38, 92, 86, 43, 87, 66, 40, 81, 71, 81, 36,
92, 22, 92, 82, 42)), row.names = c(NA, -101L), class = c("tbl_df",
"tbl", "data.frame"))
这个编辑器要求我添加更多的文字,因为我的帖子大部分都是代码,但我没有太多其他的东西可以添加。实际上,大部分代码只是示例数据,我不知道如何产生其他数据(我尝试了几个R默认集合,但它们都没有成功)。