Linked Plots Package

GitHub

A Unity package that provides brushing, linking, and filtering between multiple 2D plots and 3D visualizations.

A demonstration of the linked plots package being used to explore the elevation change of Mount St. Helens before and after eruption. The package provides linkage between both the 2D plots and the 3D visualization, such that selection in one view propagates automatically to all others.

Key Features

  • Brushing and filtering between multiple 2D/3D linked views
  • Scatter plots
  • Parallel coordinates plots
  • Cluster plots
  • Line plots
  • Screen space and world space canvas support
  • VR interaction support
  • Custom UI "Plot Skins" via ScriptableObjects
  • Color mapping

Description

I built this Unity package from scratch as an undergrad in the University of Minnesota's IV/Lab to assist with a number of interesting visualization challenges and research projects, such as the Analysis of Cyclical 4D Skeletal Motion Data.

This package provides basic plotting functionality for scatter plots, cluster plots, line plots and parallel coordinate plots, as well as a robust linkage between those plots and any other visualization the user wishes to connect. This is particularly useful for high-dimensional datasets in which more than 2 variables need to be compared at once, or datasets that have interrelated 2D and 3D data that necessitates side-by-side visualization.

Demo

Mock demonstration of how selecting data points related to cars in a 2D plots instantly propagates to all other 2D plots as well as a 3D visualization.
Demonstration of individual voxels in a mock 3D voxel volume being selected with linked plots package.
Demonstration of the linked plots package being used to select proton radiation treatment plans from DVH curves in a VR environment.

Tools Used

Languages: C#

Software: Unity, Git