Основываясь на пакете ggplot2, я хочу добавить разные текстуры к разным барам барплота. Кроме того, я хочу добавить эти текстуры в легенду о барплете.
Рассмотрим следующий воспроизводимый пример:
# Create example data
data_ggp <- data.frame(category = rep(c("cat1", "cat2", "cat3"), 4),
values = c(0.664, 0.045, 0.291, 0.482, 0.029, 0.489, 0.537, 0.027, 0.436, 0.536, 0.028, 0.436),
group = c(rep("group1a", 3), rep("group1b", 3), rep("group2a", 3), rep("group2b", 3)))
# Load ggplot2
library("ggplot2")
# Draw barchart (not overlayed)
ggplot(data_ggp, aes(category, values)) +
geom_bar(stat = "identity", aes(fill = group), position = "dodge") +
scale_fill_manual(" ",
labels = c("group1a", "group1b", "group2a", "group2b"),
values = c("group1a" = "deepskyblue4", "group1b" = "darkolivegreen4",
"group2a" = "deepskyblue1", "group2b" = "darkolivegreen2"))
На этом графике я хотел бы нарисовать диагональные линии для группы 2a и вертикальные + горизонтальные линии для группы 2b. Легенда также должна содержать эти текстуры.
Окончательный график должен выглядеть следующим образом (нарисован краской):
Я обнаружил относительно старый поток при переполнении стека: Как добавить текстуру для заливки цветов в ggplot2?
К сожалению, этот код очень сложен, не автоматизирован, и его трудно применять к различным типам барплотов. Кроме того, я хотел бы добавить текстуры к моей легенде.
Вопрос: Как добавить разные текстуры на разные бары барплота + к легенде о барплоте?