Basic r plotting via the
plot command is functional.
More tidyverse! Probably the favourite plotting system for R these days.
Kieran Healy advises the following set up for visualisation in the tidyverse style :
my_packages <- c("tidyverse", "broom", "coefplot", "cowplot", "gapminder", "GGally", "ggrepel", "ggridges",X "gridExtra", "interplot", "margins", "maps", "mapproj", "mapdata", "MASS", "quantreg", "scales", "survey", "srvyr", "viridis", "viridisLite", "devtools") install.packages(my_packages, repos = "http://cran.rstudio.com")
ggedit is a package that helps users bridge the gap between making a plot and getting all of those pesky plot aesthetics just right, all while keeping everything portable for further research and collaboration.
ggedit is powered by a Shiny gadget where the user inputs a ggplot plot object or a list of ggplot objects. You can run ggedit directly from the console or from the Addin menu within RStudio.
The ggplot2 reference is thorough but inscrutable without knowing the philosophy of the thing.
Fancy features are best discovered via the extension gallery.
The cheat sheet has graphical references, which is the appropriate way to consider this thing.
Max Woolf’s simple ggplot tutorial
The ggplot chapter of R for data science.
ggvis is a planned next iteration of the Hadley Wickham’s ggplot family, AFAICT, but currently on hiatus
animating is sort of possible using ggplot2 but it is not fun.
gggedit is an interactive rstudio extension for dynamically adjusting plots
With ggplotly() by Plotly, you can convert your ggplot2 figures into interactive ones powered by plotly.js.
Other plotting systems
R Graphical Manual visualization of all CRAN R package example plots, and is searchable by topic.
Spatial data and maps and such
See maps in R.
Do you get an error like this when plotting SVGs?
unable to load shared object '/usr/local/Cellar/r/3.5.0_1/lib/R/library/grDevices/libs//cairo.so': dlopen(/usr/local/Cellar/r/3.5.0_1/lib/R/library/grDevices/libs//cairo.so, 6): image not found
Error in dev.control(displaylist = if (record) "enable" else "inhibit") : dev.control() called without an open graphics device Calls: local ... call_block -> block_exec -> chunk_device -> dev.control In addition: Warning messages: 1: In (function (filename = if (onefile) "Rplots.svg" else "Rplot%03d.svg", : unable to load shared object 'SOMETHING/r/3.6.2/lib/R/library/grDevices/libs//cairo.so': dlopen(SOMETHING/r/3.6.2/lib/R/library/grDevices/libs//cairo.so, 6): image not found
Cairo is finicky.
brew install --cask r
or you can install
svglite as an alternative plotting backend
and use the device option
dev = "svglite".
Mind you, svglite can have its own problems.
I needed to do the following, on one Kubuntu workstation,
install.packages("devtools") devtools::install_github('davidgohel/gdtools') devtools::install_github("r-lib/svglite")
On macOS, XQuartz helps
brew install --cask xquartz
Although I suspect it is a bloated security risk so avoid if poss; XQuartz is a community maintained fork of a notoriously insecure piece of software that runs as root, so it would be a an embarrassing way to get p3ned.
For anaconda R, this seems to help:
conda update conda conda update --all conda install -c r r-essentials=1.7.0
Generally anaconda R is a nightmare though, and all sorts of things fail to compile for me, so I do not recommend it.