Как показать легенду для следующего графика штриховки ggplot?Показать легенду для штрихового графика в ggplot
tmp <- data.frame(group = LETTERS[1:10], id = 10:1, a = runif(10), b = runif(10))
ggplot(tmp) + geom_bar(aes(x = reorder(group, id), a + b, group = 1), stat = 'identity')
Обновление: У меня есть две диаграммы расположены с использованием grid.arrange
из gridExtra
. Оба графика имеют одинаковое количество баров, но есть легенда. Я подумал, что, добавив любую легенду на втором графике, я выравнивать стержни (сделать ширину участка площадью обоих участков одинаковы):
tmp <- data.frame(group = LETTERS[1:10], id = 10:1,
a = runif(10), b = runif(10), c = rnorm(10))
p1 <- ggplot(tmp) + geom_bar(aes(x = reorder(group, id), c, fill = a), stat = 'identity')
p2 <- ggplot(tmp) + geom_bar(aes(x = reorder(group, id), a + b, group = 1), stat = 'identity')
library(gridExtra)
grid.arrange(p1, p2, heights = c(2, 1))
Теперь это выглядит следующим образом:
@MrFlick Я упрощенно мою проблему, добавил больше деталей. –
Ну, ggplot не позволяет создавать легенды для вещей, которые на самом деле не находятся в сюжете. Проще всего было бы добавить «fill = a» для второго сюжета. – MrFlick
... или вы можете перенести первую легенду в верхнюю или нижнюю часть первого графика. – joran