How to Visualize Anomalies in Time Series Data in R, with ggplot
Quickly see what’s below and above average through the noise and seasonal trends.
Whether or not values in a time series are normal or abnormal can be tricky to show because of underlying trends and periodic cycles in the data. One technique to visualize this aspect of time series data is to visualize the normal values, and plot the deviations from those normal values (sometimes called “anomalies”) on top of those.
This technique applies especially well to weather data. In order to show how normal or abnormal cold and hot weather spells are, plotting the raw numbers is usually not very interesting: it is much more meaningful to plot the deviations from the normal values to see if a spell is unusually hot or cold for the time of the year.
To access this full tutorial and download the source code you must be a member. (If you are already a member, log in here.)
Get instant access to this tutorial and over a hundred more, plus courses, guides, and additional resources.
You'll get unlimited access to hundreds of hours worth of step-by-step visualization courses and tutorials for insight and presentation — all while supporting an independent site. Source code and data is included so that you can more easily apply what you learn in your own work.
The tutorials are very helpful to move from "Oooo, cool!" to how to actually DO the cool.
Members also recieve a weekly newsletter, The Process. Keep up-to-date on visualization tools, the rules, and the guidelines and how they all work together in practice.
See samples of everything you gain access to:
More Tutorials See All →
How to Make Baseline Charts in R
By shifting the baseline to a reference point, you can focus a line chart on relative change, which can improve the visibility of smaller categories.
Choropleth Maps and Shapefiles in R
Fill those empty polygons with color, based on shapefile or external data.
A Course for Visualizing Time Series Data in R
Learn to visualize temporal patterns in a couple of days.