Skip to contents

Plot slope data for a 3d linestring with base R graphics

Usage

plot_slope(
  route_xyz,
  lonlat = sf::st_is_longlat(route_xyz),
  fill = TRUE,
  horiz = FALSE,
  pal = colorspace::diverging_hcl,
  legend_position = "top",
  col = "black",
  cex = 0.9,
  bg = grDevices::rgb(1, 1, 1, 0.8),
  title = "Slope colors (percentage gradient)",
  brks = c(3, 6, 10, 20, 40, 100),
  seq_brks = seq(from = 3, to = length(brks) * 2 - 2),
  ncol = 4,
  ...
)

Arguments

route_xyz

An sf linestring with x, y and z coordinates, representing a route or other linear object.

lonlat

Are the routes provided in longitude/latitude coordinates? By default, value is from the CRS of the routes (sf::st_is_longlat(routes)).

fill

Should the profile be filled? TRUE by default

horiz

Should the legend be horizontal (FALSE by default)

pal

Color palette to use, colorspace::diverging_hcl by default.

legend_position

The legend position. One of "bottomright", "bottom", "bottomleft", "left", "topleft", "top" (the default), "topright", "right" and "center".

col

Line colour, black by default

cex

Legend size, 0.9 by default

bg

Legend background colour, grDevices::rgb(1, 1, 1, 0.8) by default.

title

Title of the legend, NULL by default.

brks

Breaks in colour palette to show. c(1, 3, 6, 10, 20, 40, 100) by default.

seq_brks

Sequence of breaks to show in legend. Includes negative numbers and omits zero by default

ncol

Number of columns in legend, 4 by default.

...

Additional parameters to pass to legend

Value

A plot showing the elevation profile associated with a linestring.

Examples

plot_slope(lisbon_route_3d)

route_xyz = lisbon_road_segment_3d
plot_slope(route_xyz)

plot_slope(route_xyz, brks = c(1, 2, 4, 8, 16, 30))

plot_slope(route_xyz, s = 5:8)