Time series aim to study the evolution of one or several variables
through time. This section gives examples using R. A
focus is made on the tidyverse: the
lubridate package is indeed your best friend to deal with
the date format, and ggplot2 allows to plot it
efficiently. The dygraphs package is also considered to
build stunning interactive charts.
Date format? You will
♥
the lubridate package.
Building time series requires the time variable to be at the
date format. The first step of your analysis must be
to double check that R read your data correctly, i.e. at the
date format. This is possible thanks to the
str() function:
Getting this date format can be a pain, and the
lubridate package is such a life saver. It offers
several function which name are composed by 3 letters: year
(y), month (m) and day (d).
Example:
ggplot2
ggplot2 offers great features when it comes to visualize
time series. The date format will be recognized
automatically, resulting in neat X axis labels. The
scale_x_data() makes it a breeze to customize those
labels. Last but not least, plotly can turn the resulting
chart interactive in one more line of code.
plotly
The ggplotly() function of the
plotly library makes it a breeze to build an interactive
version. Try to hover circles to get a tooltip, or select an area of
interest for zooming. Double click to reinitialize.
dygraphThe dygraphs package is a html widget. It allows to make interactive time series chart: you can zoom and hover data points to get additional information. Start by reading the chart #316 for quick introduction and input description. Then, the graph #317 gives an overview of the different types of charts that are offered. To go further, check the graph #318 (interactive version below).
The dygraph package offers zooming, hovering, minimaps
and much more. Try it on the example below!
Heatmaps can be a very good alternative to visualize time series, especially when the time frame you study is repeating, like weeks. Here is a customized example, but visit the heatmap section for more.
Code Heatmap section
A Bump plot is an effective alternative for visualizing
time series with a limited number of data points, such as data
collected every 5 or 10 years.
The following example demonstrates how to highlight specific lines, avoiding a spaghetti chart.
Code
latticeExtra or ggplot2
Warning: a dual Y axis line chart represents the evolution of 2 series, each plotted according to its own Y scale. This kind of chart must be avoided, since playing with Y axis limits can lead to completely different conclusions. Visit data-to-viz for more info.
Why you should avoid itggbumpA bump chart is a variation of the parallel coordinate plot. It visualizes the rank order and changes in rank of categorical data over time. It is thus suitable for timeseries.
In R, the ggbump package makes it a breeze to build one as shown in the following examples:
The web is full of astonishing R charts made by awesome bloggers. The R graph gallery tries to display some of the best creations and explain how their source code works. If you want to display your work here, please drop me a word or even better, submit a Pull Request!