ggplot: вручную добавить легенды для эстетики, которая не отображается
Я хочу создать барплот с точками, где у обеих есть разные легенды. Кроме того, я хочу выбрать цвет полос и размер точек, используя аргументы за пределамиaes()
, Поскольку оба не нанесены на карту, легенда не создается.
1) Как я могу добавить легенду вручную для заполнения и размера?
library(ggplot2)
d <- data.frame(group = 1:3,
prop = 1:3 )
ggplot(d, aes(x=group, y=prop)) +
geom_bar(stat="identity", fill="red") +
geom_point(size=5)
Вот что я придумал: я использовал фиктивные отображения и впоследствии модифицировал легенду в соответствии со своими потребностями. Но такой подход кажется мне неуклюжим.
2) Есть ли ручной способ сказать: добавить легенду с этим названием, этими фигурами, этими цветами и т. Д.?
d <- data.frame(dummy1="d1",
dummy2="d2",
group = 1:3,
prop = 1:3 )
ggplot(d, aes(x=group, y=prop, fill=dummy1, size=dummy2)) +
geom_bar(stat="identity", fill="red") +
geom_point(size=5) +
scale_fill_discrete(name="fill legend", label="fill label") +
scale_size_discrete(name="size legend", label="size label")
Выше я нанес на картуfill
вdummy1
, Так что я бы ожидалscale_fill_discrete
изменить эту легенду. Но, похоже, изменитьsize
легенда вместо
3) Я не уверен, что здесь пошло не так. Есть идеи?