Итак, я строю график со следующей информацией:
- Компоненты дохода одиночного домохозяйства (заработная плата, социальные трансферты, налоги), отображаемые в виде диаграммы geom_bar в виде столбцов и деленные на страну ;
- Чистый доход каждой страны домохозяйства после уплаты налогов и трансфертов, отображаемый на диаграмме geom_point.
Это расположено в следующем фрейме данных:
example <- data.frame(country = c("Arcadia", "Asgard", "Atlantis", "Avalon"),
wage = c(80, 70, 55, 40),
transfers = c(15, 15, 5, 20),
tax = c(-10, -5, -5, 0),
net = c(85, 80, 65, 60)) %>% gather(icom, euro, wage:net)
Затем он выглядит так:
income_graph <- ggplot(filter(example, icom != "net"), aes(x = country, y = euro, fill = factor(icom, levels = c("transfers", "wage", "tax")))) +
geom_bar(stat = "identity", colour = "black") +
geom_point(data = filter(example, icom == "net"), colour = "black", shape = 5) +
labs(fill = "Income components") +
scale_fill_brewer(palette = "Greys", labels=(c("Social transfers", "Wage", "Tax")))
income_graph
Это приводит к следующему графику.
![enter image description here](https://i.stack.imgur.com/4x0Xh.png)
Здесь мне нужна помощь: график делает то, что мне нужно, но я не могу понять, как заставить графики geom_bar и geom_point использовать комбинированную легенду (т.е. раунд) показатель "net" под тем же заголовком "Компоненты дохода"). Исходя из того, что я обнаружил при чтении других записей, решение может состоять в том, чтобы отобразить и geom_bar, и geom_point на «fill», но, похоже, это просто приводит к тому, что «чистый» ромб перекрывает другие записи icom. [*]
Заранее спасибо и надеюсь, что вопрос не является дубликатом - я не смог найти подходящее решение для StackOverflow, но, к счастью, будет перенаправлен на одно, если ответ очевиден.
LS
[*] = (Отдельно и в гораздо меньшем масштабе возможно ли заставить «чистые» индикаторы заполняться белым и черным контуром? Это, вероятно, имеет логическое решение, но я почесал голову на это.)