MyNixOS website logo
Description

Add Continuous Legends to Plots.

Annotate plots with legends for continuous variables and colour spectra using the base graphics plotting tools; and manipulate irregular polygons.

PlotTools

Project Status: Active. codecov CRAN Status Badge CRAN Downloads DOI

'PlotTools' is an R package that allows the legends for continuous variables to be added to plots using the familiar functions of the default 'graphics' package. It also includes utility functions to manipulate irregular polygons and locate their centres.

Install the latest production version from CRAN using

install.packages("PlotTools")

or install the development version from GitHub with

devtools::install_github("ms609/PlotTools")

Please let me know of any feature requests or bugs by opening an issue on GitHub.

Usage

# Select a colour palette
palette <- if (packageVersion("grDevices") > 3.6) hcl.colors else heat.colors

# Plot some example data
plot(
  cars,
  xlab = "Speed / mph",
  ylab = "Stopping distance / ft",
  col = palette(125 + 1)[cars$dist + 1], # Colour points by distance
  cex = cars$speed / 10,                 # Size points by speed
  pch = 16,                              # Use filled circle for points
  frame.plot = FALSE
)

# Display legend for colour scale
PlotTools::SpectrumLegend(
  "topleft",                             # Legend position
  palette = palette,                     # Display our chosen palette
  legend = seq(125, 0, length.out = 6),  # Annotate positions on legend
  title = "Distance",
  bty = "n"                              # Don't frame with box
)

# Display legend for plotting symbol sizes
PlotTools::SizeLegend(
  "bottomright",                         # Legend position
  palette = "darkgrey",                  # Set colour - may be continuous
  horiz = TRUE,                          # Orient horizontally
  width = c(0, 2.5), scale = "pch",      # Scale for plotting character
  legend = seq(0, 25, by = 5),           # Annotate positions on legend
  x.intersp = 0,                         # Set x spacing
  bty = "n",                             # Don't frame with box
  inset = 0.05,                          # Inset from plot edges
  title = "Speed"
)

image

Citation

Cite this package as:

Smith, Martin R. (2023). PlotTools: Add continuous legends to plots. Comprehensive R Archive Network, doi:10.5281/zenodo.7803390.

Contribute

Please note that the 'PlotTools' project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Metadata

Version

0.3.0

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows