How to visualize time series data

Visualizing time series data is often the first step in observing trends that can guide time series modeling and analysis.

How to visualize time series data
Thinkstock

As time series data analysis becomes more essential in applications across sectors, so does visualizing time series data. The easier data is to access and the more shareable it is across teams, the more valuable it becomes. A single time series graph or dashboard, by providing a visual snapshot of change over time for a given set of parameters, can be worth several written reports.

What we can learn from time series visualizations

Visualizing time series data can help detect patterns, outliers that defy those patterns, whether the data is stationary or non-stationary, and whether there is correlation between the variables. For example, a time series line graph (also called a timeplot) displays values against time. It is similar to x-y graphs but displays only time on the x-axis. Time series graphs can take more complex forms that provide more context about the data.

Time series data can be queried and graphed in dashboards spanning different visualization types. Which visualization type to use depends on which works best for your use case. Time series graphs visually highlight the behavior and patterns of the data. They allow you to easily identify patterns like trend, seasonality, and correlation.

Let’s review some tools for graphing time series data and some of their visualization capabilities.

Time series graphing tools

Time series graphing tools often come with pre-configured dashboards to facilitate getting started. Open source projects like InfluxDB (disclosure: I work at InfluxData), a time series platform with a built-in dashboarding engine) and Grafana are popular choices for visualizing time series data and provide different types of time series plots that make observed data meaningful and easier to interpret. As Grafana integrates with InfluxDB, the two platforms are often used in combination to visualize data from various data sources and to facilitate sensor, system, and network monitoring.

Visualizing time series data with InfluxDB

The built-in InfluxDB UI is the whole package when it comes to working with time series data with InfluxDB Cloud or InfluxDB OSS. The UI provides the user with everything including no code tools to get started writing data to InfluxDB, visual scripting and querying tools, the ability to perform data transformation tasks, and alert creation tools. Naturally, the InfluxDB UI also provides the user with powerful tools for building custom dashboards. For example:

  • InfluxDB can visualize time series data using custom graphs from graphing libraries such as Plotly.js, Rickshaw, and Dygraphs.
  • InfluxDB Templates, a set of tools that includes a packager and a set of pre-canned dashboards, allow users to share their monitoring expertise.

Visualization types available through the InfluxDB UI include band charts, gauge charts, line and bar graphs, single-stats graphs, heatmaps, histograms, mosaics, scatter plots and tables. 

visualizing time series 01 InfluxData

The band chart displays the upper and lower boundaries of groups of data over time.

visualizing time series 02 InfluxData

The heatmap shows data distribution on x and y axes where color represents data point concentration. 

visualizing time series 03 InfluxData

The gauge graph shows the single most recent value for a time series and where it falls within a spectrum.

Visualizing time series data with Grafana

The process of setting up a Grafana dashboard and integrating it with various data sources is straightforward. Grafana ships with a feature-rich data source plug-in for InfluxDB. The plug-in includes a custom query editor and supports annotations and query templates.

visualizing time series 04 InfluxData

Two Grafana cells visualize request times (right) and load times (left) with a line graph and bar plot respectively.

visualizing time series 05 InfluxData

A Grafana dashboard used to monitor InfluxDB complete with visualizations about the average system load, queries executed, writes executed, series count, and more.

visualizing time series 06 InfluxData

A Grafana dashboard used for application or website monitoring.

Grafana has a rich set of graphing features and offers a high level of customization for dashboard building and editing. Capabilities include:

  • Dynamic and reusable dashboards
  • Data exploration through ad-hoc queries and dynamic drilldown
  • Logs exploration
  • Visually defining alert rules
  • Annotations to view event metadata and tags

Plug-ins can be used to import data from external data sources and return the data in a format that Grafana understands. Various data sources integrate with Grafana to produce Grafana dashboards and help users to extract insights through visualizing time series analytics.

Combining data visualization with powerful analytics

The power of a data visualization solution depends on the companion analytics capabilities within the solution. Time series data scientists and analysts need the flexibility to transform their data in any way they see fit. They need to easily apply statistical, dynamic statistical, financial momentum, math, and even geotemporal functions to their time series data in order to prepare their data for meaningful data visualization. Flux, InfluxData’s functional query and scripting language, allows InfluxDB users to accomplish all of that.

visualizing time series 07 InfluxData

An example of visualizing geotemporal data with the InfluxDB UI.

Flux enables users to create powerful geotemporal visualizations. Flux also enables users to build custom functions for anomaly detection. This blog post on using Flux for anomaly detection highlights why powerful data visualization tools require complementary analytics tools. It’s almost impossible to spot the anomalous series among the collection of like time series in this data:

visualizing time series 08 InfluxData

However, the median absolute deviation Flux function, a custom anomaly detection algorithm, helps the user to uncover and visualize the resulting anomalies in that dataset:

visualizing time series 09 InfluxData

Anais Dotis-Georgiou is a developer advocate for InfluxData with a passion for making data beautiful with the use of data analytics, AI, and machine learning. She takes the data that she collects and applies a mix of research, exploration, and engineering to translate the data into something of function, value, and beauty. When she is not behind a screen, you can find her outside drawing, stretching, boarding, or chasing after a soccer ball.

New Tech Forum provides a venue to explore and discuss emerging enterprise technology in unprecedented depth and breadth. The selection is subjective, based on our pick of the technologies we believe to be important and of greatest interest to InfoWorld readers. InfoWorld does not accept marketing collateral for publication and reserves the right to edit all contributed content. Send all inquiries to newtechforum@infoworld.com.

Copyright © 2021 IDG Communications, Inc.

How to choose a low-code development platform