
ggplot2 is a R package dedicated to data
visualization. It can greatly improve the quality and aesthetics
of your graphics, and will make you much more efficient in
creating them.ggplot2 allows to build
almost any type of chart. The R graph
ggplot2 examples.ggplot2 tips that you can apply to any
chart, like customizing a title, adding annotation, or using
faceting.
ggplot2, you will love my
productive r workflow
project where I show how it interacts with Quarto, Git and Github!
❤️
geom
ggplot2 builds charts through layers using
geom_ functions. Here is a list of the different
available geoms. Click one to see an example using it.
Annotation is a
key step
in data visualization. It allows to highlight the main message of the
chart, turning a messy figure in an insightful medium.
ggplot2 offers many function for this purpose, allowing
to add all sorts of text and shapes.
Marginal plots are not natively supported by ggplot2, but
their realisation is straightforward thanks to the
ggExtra library as illustrated in
graph #277.
ggplot2 chart appearance
The theme() function of ggplot2 allows to
customize the chart appearance. It controls 3 main types of
components:
Here’s the official ggplot2 cheatsheet created by Posit. It covers all the key concepts of the library.
I've also compiled it with the most useful R and data visualization cheatsheets into a single PDF you can download:
ggplot2
A cheatsheet for quickly recalling the key functions and arguments of the ggplot2 library.
ggplot2 title
The ggtitle() function allows to add a title to the
chart. The following post will guide you through its usage, showing
how to control title main features: position, font, color, text and
more.
ggplot2
If you don't want your plot to look like any others, you'll definitely
be interested in using custom fonts for your title and labels! This is
totally possible thanks to 2 main packages: ragg and
showtext. The
blog-post below
should help you using any font in minutes.
facet_wrap() and
facet_grid()
Small multiples is a very powerful dataviz technique. It split the
chart window in many small similar charts: each represents a specific
group of a categorical variable. The following post describes the main
use cases using facet_wrap() and
facet_grid() and should get you started quickly.
It is possible to customize any part of a ggplot2 chart
thanks to the theme() function. Fortunately, heaps of
pre-built themes are available, allowing to get a good style with one
more line of code only. Here is a glimpse of the available themes.
See code
plotly: turn your ggplot interactive
Another awesome feature of ggplot2 is its link with the
plotly library. If you know how to make a
ggplot2 chart, you are 10 seconds away to rendering an
interactive version. Just call the ggplotly() function,
and you’re done. Visit the interactive graphic section of the gallery
for more.
library(ggplot2) library(plotly) library(gapminder) p <- gapminder %>% filter(year==1977) %>% ggplot( aes(gdpPercap, lifeExp, size = pop, color=continent)) + geom_point() + theme_bw() ggplotly(p)
← this chart is interactive: hover, drag, zoom, export and more.
ggplot2 possibilities
Each section of the gallery provides several examples implemented with
ggplot2. Here is an overview of my favorite examples:
Sometimes programming can be used to generate figures that are aestetically pleasing, but don't bring any insight. Here are a few pieces of data art built from R and ggplot2. Visit data-to-art.com for more.