Skip to contents

Uses the ggplot2::fortify() function to turn the SpatialPolygons objects into a data.frame. Then calls geom_polygon to plot the polygons. Requires the ggplot2 package.


# S3 method for SpatialPolygons
gg(data, mapping = NULL, crs = NULL, ...)



A SpatialPolygons or SpatialPolygonsDataFrame object.


Aesthetic mappings created by aes used to update the default mapping.


A CRS object defining the coordinate system to project the data to before plotting.


Arguments passed on to geom_sf. Unless specified by the user, the argument alpha = 0.2 (alpha level for polygon filling) is added.


A geom_sf object.


Up to version 2.10.0, the ggpolypath package was used to ensure proper plotting, since the ggplot2::geom_polygon function doesn't always handle geometries with holes properly. After 2.10.0, the object is converted to sf format and passed on to gg.sf() instead, as ggplot2 version 3.4.4 deprecated the intenrally used ggplot2::fortify() method for SpatialPolygons/DataFrame objects.


# \donttest{
  if (require(ggplot2, quietly = TRUE) &&
      bru_safe_sp() &&
      require("sp")) {
    # Load Gorilla data

    data("gorillas", package = "inlabru")

    # Plot Gorilla elevation covariate provided as SpatialPixelsDataFrame.
    # The same syntax applies to SpatialGridDataFrame objects.

    ggplot() +

    # Add Gorilla survey boundary and nest sightings

    ggplot() +
      gg(gorillas$gcov$elevation) +
      gg(gorillas$boundary) +

    # Load pantropical dolphin data

    data("mexdolphin", package = "inlabru")

    # Plot the pantropical survey boundary, ship transects and dolphin sightings

    ggplot() +
      gg(mexdolphin$ppoly) + # survey boundary as SpatialPolygon
      gg(mexdolphin$samplers) + # ship transects as SpatialLines
      gg(mexdolphin$points) # dolphin sightings as SpatialPoints

    # Change color

    ggplot() +
      gg(mexdolphin$ppoly, color = "green") + # survey boundary as SpatialPolygon
      gg(mexdolphin$samplers, color = "red") + # ship transects as SpatialLines
      gg(mexdolphin$points, color = "blue") # dolphin sightings as SpatialPoints

    # Visualize data annotations: line width by segment number

    names(mexdolphin$samplers) # 'seg' holds the segment number
    ggplot() +
      gg(mexdolphin$samplers, aes(color = seg))

    # Visualize data annotations: point size by dolphin group size

    names(mexdolphin$points) # 'size' holds the group size
    ggplot() +
      gg(mexdolphin$points, aes(size = size))

# }