I'm plotting a Europe map as follows:
library(ggplot2)
library(grid)
library(rworldmap)
## Get the world map: ##
worldMap <- getMap()
## Define vector with all European countries: ##
v.europe <- c("Norway", "Sweden", "Finland", "Denmark", "United Kingdom","Ireland", "Greece",
"Belgium", "Netherlands", "France", "Spain", "Portugal", "Luxembourg", "Croatia",
"Germany", "Switzerland", "Austria", "Slovenia", "Italy", "Bulgaria", "Romania",
"Czech Rep.", "Slovakia", "Hungary", "Poland", "Bosnia Hercegovina", "Serbia",
"Turkey", "Ukraine", "Moldova", "Belarus", "Estonia", "Latvia", "Lithuania",
"Montenegro", "Albania", "Macedonia")
## Select only the index of countries of Europe: ##
indEU <- which(worldMap$NAME%in%v.europe)
## Extract longitude and latitude border's coordinates of countries: ##
df.europeCoords <- lapply(indEU, function(i){
df <- data.frame(worldMap@polygons[[i]]@Polygons[[1]]@coords)
df$region = as.character(worldMap$NAME[i])
colnames(df) <- list("long", "lat", "region")
return(df)
})
df.europeCoords <- do.call("rbind", df.europeCoords)
names(df.europeCoords) <- c("longitude", "latitude", "country")
## Deletes/Removes borders of PLOT: ##
ax <- list(
title = "",
zeroline = FALSE,
showline = FALSE,
showticklabels = FALSE,
showgrid = FALSE
)
## Plot the map: ##
p <- ggplot(data = df.europeCoords, aes(x = longitude, y = latitude, group = country,
text = paste("<b>", country, '</b>\n')),
color = "grey50", size = 0.1) +
geom_polygon() +
coord_map(xlim = c(-13, 35), ylim = c(32, 71)) +
theme_classic() +
theme(axis.text.x = element_blank(), axis.text.y = element_blank(), axis.ticks.x = element_blank(),
axis.ticks.y = element_blank(), axis.title = element_blank(), legend.position = "none",
plot.margin = unit(0 * c(-1.5, -1.5, -1.5, -1.5), "lines"))
## Create plot_ly() object: ##
EuropePlot <- plotly::ggplotly(p, tooltip = "text") %>%
layout(xaxis = ax, yaxis = ax)
This gives the following plot:
I would like to draw a red border around a group of countries. This group should include the following countries: Austria, Germany, Denmark, Belgium, France and Switzerland. How can I do this?



