Я новичок в ggplot2
, и я часами борюсь за добавление второй легенды в свой сюжет.
Я использую два data.frames
(df_1
и df_2
) и два geom_point
звонка для них. Мне удалось создать легенду для df_2
, но я не смог добавить вторую легенду для df_1
.
Вот пример кода с сюжетом:
########## Create sample data
set.seed(69)
df_1 = data.frame(lat = rnorm(20),
lon = rnorm(20),
cor = c(rep('positive', 12), rep('negative', 8)),
sign = 0)
df_2 = data.frame(lat = rnorm(20),
lon = rnorm(20),
cor = c(rep('positive', 7), rep('negative', 13)),
sign = c(rep(99, 5), rep(95, 6), rep(90,9)))
#### Plot data
library(ggplot2)
p = ggplot() +
# geom_point for df_1
geom_point(data=df_1, aes(x=lon, y=lat),
alpha=0.7, color = 'darkgrey', size = 3) +
# geom_point for df_2
geom_point(data=df_2, aes(x=lon, y=lat, size=sign, colour = cor), alpha = 0.5) +
scale_color_manual(values=c("red", "blue"),
name='cor',
labels = c('neg', 'pos'),
guide = guide_legend(override.aes = list(alpha = 1, size = 3))) +
scale_size(range = c(1,3),
breaks = c(90, 95, 99),
labels = c(0.1, 0.05, 0.01),
name = 'sign',
guide = guide_legend(override.aes = list(colour = 'black',
alpha = 1)))
print(p)
![enter image description here](https://i.stack.imgur.com/eR95e.jpg)
Как добавить легенду для geom_point
вызова df_1
?
Было бы достаточно добавить третью точку темного серого в cor (правая легенда) с надписью «not sign».