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. The default mapping is ggplot2::aes(x = long, y = lat, group = group).


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


Arguments passed on to geom_polypath. Unless specified by the user, the arguments colour = "black" (polygon colour) and alpha = 0.2 (Alpha level for polygon filling).


A ggpolypath::geom_polypath object.


Requires the ggpolypath package to ensure proper plotting, since the ggplot::geom_polygon function doesn't always handle geometries with holes properly.


# \donttest{
  if (require(ggplot2, quietly = TRUE) &&
      require(ggpolypath, quietly = TRUE)) {
    # 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 pantropiical 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))
#> Regions defined for each Polygons
#> Regions defined for each Polygons
#> Regions defined for each Polygons

# }