ggplot2: добавление различных текстур к цветному барплоту и легенде - PullRequest
0 голосов
/ 08 января 2019

Основываясь на пакете 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"))

enter image description here

На этом графике я хотел бы нарисовать диагональные линии для группы 2a и вертикальные + горизонтальные линии для группы 2b. Легенда также должна содержать эти текстуры.

Окончательный график должен выглядеть следующим образом (нарисован краской):

enter image description here

Я обнаружил относительно старый поток при переполнении стека: Как добавить текстуру для заливки цветов в ggplot2?

К сожалению, этот код очень сложен, не автоматизирован, и его трудно применять к различным типам барплотов. Кроме того, я хотел бы добавить текстуры к моей легенде.

Вопрос: Как добавить разные текстуры на разные бары барплота + к легенде о барплоте?

...