I have points overlaid on a map using the following code:
seizures <- get_googlemap(center="Chicago") %>% ggmap() +
geom_point(data=seizures.df, aes(x=Longitude, y=Latitude, color='blue'),alpha=.5, size=.2, color='blue', stroke=NA, show.legend=TRUE)+
theme(legend.justification=c("right", "top))
For some reason, the points are not showing up in the legend. I just want a simple legend with a blue dot and accompanying text "seizures".
What am I doing wrong here?
To get a legend you have to map on aesthetics. The issue is that you map on the color
aes but then override the mapping by setting the color
as a parameter. Hence, you won't get a legend. Additionally you have to drop stroke=NA
which as you have set a small size
will make both the points and the legend key nearly invisible. For the reprex I have still chosen a larger point size as otherwise the points are hardly visible.
Using some fake example data:
library(ggmap)
library(ggplot2)
seizures.df <- data.frame(
Longitude = c(-87.7, -87.9),
Latitude = c(41.7, 41.9)
)
get_googlemap(center = "Chicago") |>
ggmap() +
geom_point(
data = seizures.df, aes(x = Longitude, y = Latitude, color = "seizures"),
alpha = .5, size = 2
) +
scale_color_manual(values = "red") +
theme(legend.justification = c("right", "top"))