Charticulator: Interactive Construction of Bespoke Chart Layouts

Charticulator allows you to create various expressive visualizations without programming.

Best Paper Honorable Mention Award at IEEE InfoVis 2018

Unfortunately, the project website at is no longer available. You can find Charticulator below:

Spectrum Analyzer

A real-time spectrum analyzer for audio data, allowing users to analyze frequency content over time. Users can choose between STFT or constant-Q transform for producing the spectrogram.


Stardust: GPU-based Visualization Library

Stardust is a library for rendering information visualizations with GPU (WebGL). Stardust provides an easy-to-use and familiar API for defining marks and binding data to them. With Stardust, you can render tens of thousands of markers and animate them in real time without the hassle of managing WebGL shaders and buffers.

Project Website


ChartAccent is a tool that allows people to quickly and easily augment charts via a palette of annotation interactions that generate manual and data-driven annotations.

Project Website

Mixed Reality Simulation

Using the AlloSphere as an instrument to simulate optical-see-through Augmented Reality displays with desired parameters (field of view and tracking artifacts). The system is powered by iVisDesigner’s framework.


iVisDesigner is a toolkit for users to create information visualization designs through interaction only, without programming. In our system, users can directly create visualization designs on the canvas, adjust parameters and see the results instantly.

Project Website

Dimension Projection-Matrix/Tree

We present two novel methods for high-dimensional data visualization and visual analytics. First, the Dimension Project Matrix, in which the dimensions are grouped and the dimension projections (such as MDS) of each pair of groups are shown in the cells. Second, the Dimension Projection Tree, where every node is a dimension projection matrix. Each child node in the tree represents a subset of either the parent node’s dimensions or the parent node’s data items. While the tree allows hierarchical exploration of the dataset, the matrix enables cross-comparison between subspaces.

Visualization Assembly Line

Visualization Assembly Line is a web-based collaborative multidimensional data visualization and visual-analytic system, it allows a group of users to flexibly create customized visualization designs about the data being analyzed, synthesize their designs via collaborative mechanisms.

Best Poster Award at IEEE PacificVis 2013.


WeiboEvents is a web-based data collection and visual interface for analyzing retweeting cascade data in Sina Weibo (a Chinese microblog service).

Project Website (in Chinese)

Project Website (in English)

AlloVolume: Volume rendering for AMR data in the UCSB AlloSphere

AlloVolume is a CUDA-based application to support full-surround stereo volume rendering with interactive navigation for the UCSB AlloSphere. It supports AMR (Adaptive Mesh Refinement) datasets.

  • CUDA-based AMR Ray-casting Volume Renderer.
  • HTML5-based Parameter Editor.
  • Renderer / Controller for the UCSB AlloSphere infstructure.

Source Code »

Multi-GPU Fluid Simulation With SPH

Final project for CS240A Applied Parallel Computing. We implemented a Multiple GPU fluid simulation program that runs on Triton or Lonestar machines. We parallelized the Smooth Particle Hydrodynamics algorithm first with a single GPU and then with multiple GPUs. The program is written in CUDA and MPI.

Read More

XNAnalysis: Visualize friendships on was a popular social network for college students in China. XNAnalysis is a friend network (egocentric network) visualization tool built as a plugin for Chrome Web Browser. This app attracted about 16000 visits and 6000 shares.

FinalDrawer: Visualizing and exploring mathematical entities

FinalDrawer was the largest project in my high school time. It was a tool for drawing mathematical objects such as points, lines, circles, polygons, polyhedrons etc. It supports both 2D and 3D drawings. Users can interactively draw objects, move them, modify them, etc. It started as a simple tool for drawing diagrams(including points, lines, circles) for a geometry homework. It was then developed to a complex system of many interesting features: 3D objects are supported, manipulate polyhedrons (cutting, expanding, etc), evaluation of custom expressions, animation with parameters, etc. FinalDrawer was written in VisualBasic.Net and has about 50000 lines of code.