Dear Micha, Thank you very much for the tip. I worked out, but I am concerned about the warning that appears:
*Scale on map varies by more than 10%, scale bar may be inaccurate* On Sat, Jul 12, 2025 at 5:01 PM Micha Silver <[email protected]> wrote: > > > > > -- > Micha Silver > cell: +972-523-665918 > > > On Saturday, 12 July 2025 at 16:47, Gabriel Cotlier <[email protected]> > wrote: > > > Hello, > > I would like to ask for help to add a scale bar to the following map > below. > > Thanks a lot in advance. > > Kind regards, > > Gabriel > > You might consider the `ggspatial` package that has a function: > `annotation_scale()` > > https://paleolimbot.github.io/ggspatial/reference/annotation_scale.html > > > > > > library(ggplot2) > > library(sf) > > library(rnaturalearth) > > library(rnaturalearthdata) > > > > # Get world map data > > world <- ne_countries(scale = "medium", returnclass = "sf") > > > > # Define the bounding box for Europe > > europe_extent <- st_bbox(c(xmin = -12, xmax = 35, ymin = 30, ymax = 72), > > crs = st_crs(4326)) > > > > # Filter for Europe, then for Italy and Iberian Peninsula > > europe <- st_crop(world, europe_extent) > > italy_and_iberian <- europe[europe$name %in% c("Spain", "Portugal", > > "Italy"),] > > > > # Load another shapefile > > # Replace "path/to/your/shapefile.shp" > > A <- st_read("path/to/your/shapefile1.shp" ) > > B <- st_read("path/to/your/shapefile2.shp" ) > > sq1 <- st_read("path/to/your/shapefile3.shp" ) > > sq2 <- st_read("path/to/your/shapefile4.shp" ) > > > > # Plot the map with the added shapefile > > ggplot(data = europe) + > > geom_sf(fill = "lightgray") + # Background map > > geom_sf(data = italy_and_iberian, fill = "skyblue") + # Highlighted areas > > geom_sf(data = A, fill = "lightgreen") + # Added shapefile > > geom_sf(data = B, fill = "lightblue") + # Added shapefile > > geom_sf(data = sq1, fill =NA, color="red", lwd=0.5) + # Added shapefile > > geom_sf(data = sq2, fill=NA, color ="red", lwd=0.5) + # Added shapefile > > coord_sf(xlim = c(-12, 35), ylim = c(30, 72), expand = FALSE) + # Set map > > boundaries. > > theme_bw() + > > labs(title = "Italian, Iberian in Europe") > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-sig-Geo mailing list > > [email protected] > > https://stat.ethz.ch/mailman/listinfo/r-sig-geo > [[alternative HTML version deleted]] _______________________________________________ R-sig-Geo mailing list [email protected] https://stat.ethz.ch/mailman/listinfo/r-sig-geo
