A graphical toolkit for visualization


Enjoy these sample visualizations built with Protovis. For any example, use your browser to view the source or the backing dataset.
Protovis is no longer under active development.

The final release of Protovis was v3.3.1 (4.7 MB). The Protovis team is now developing a new visualization library, D3.js, with improved support for animation and interaction. D3 builds on many of the concepts in Protovis; for more details, please read the introduction and browse the examples.


While Protovis is designed for custom visualization, it is still easy to create many standard chart types. These simpler examples serve as an introduction to the language, demonstrating key abstractions such as quantitative and ordinal scales, while hinting at more advanced features, including stack layout.

Area Charts Bar & Column Charts Scatterplots Pie & Donut Charts Line & Step Charts Stacked Charts Grouped Charts


Many charting libraries provide stock chart designs, but offer only limited customization; Protovis excels at custom visualization design through a concise representation and precise control over graphical marks. These examples, including a few recreations of unusual historical designs, demonstrate the language’s expressiveness.

Anderson’s Flowers Becker’s Barley Bertin’s Hotel Streamgraphs Sparklines Bullet Charts Bubble Charts Sizing the Horizon Candlestick Charts Burtin’s Antibiotics Nightingale’s Rose Playfair’s Wheat Gas & Driving Seattle Weather Marey’s Trains Stemplots Merge Sort


Visualizations need not be static! With support for event-handlers and reusable behaviors, Protovis allows the user to explore and analyze data visually. Here we show how many standard interaction techniques can be quickly implemented.

Index Charts Parallel Coordinates Job Voyager Minnesota Employment Focus + Context Pan + Zoom Brush + Link Tooltips Pointing Spline Editor Bubbles Eyes


Many datasets can be organized into natural hierarchies. Consider: spatial entities, such as counties, states, and countries; command structures for businesses and governments; software packages and phylogenetic trees. Even for data lacking apparent hierarchy, statistical methods such as k-means clustering may be applied to organize data empirically. Special visualization techniques exist to leverage hierarchical structure, allowing multiscale inferences of both individual elements and global trends.

Dendrograms Sunbursts Icicles Indented Trees Circle Packing Node-Link Trees Treemaps


Graph visualizations often seek to reveal relationship patterns between entities and groups in the underlying dataset. For example, given a social network, who are the central players, and what cliques or bridges exist? Can multivariate data (such as gender or affiliation) explain those patterns?

Arc Diagrams Force-Directed Layouts Matrix Diagrams


Protovis offers two avenues of visualizing geospatial data: build on top of existing browser-based map tools (such as Google Maps or OpenLayers), or use our own geo scales for custom visualization design.

Minard’s Napoleon Oakland Crimespotting Choropleth Maps Symbol Maps Dorling Cartograms Map Projections Heatmaps Dymaxion Maps


Although Protovis lacks the bevy of tools provided by statistical packages such as R and MATLAB, we do include a few rudimentary facilities for statistical data analysis. Combining statistical methods with rapid prototyping of visualizations allows for efficient visual exploration of complex datasets.

Q-Q Plots Box-and-Whisker Plots Histograms Error Bars Mean & Deviation


Not all visualizations need an empirical dataset to justify their existence. It can be fun and rewarding to use visualization purely for aesthetics or entertainment. Often, a few simple rules are enough to define a world rich with emergent complexity and beauty.

Conway’s Game of Life Automaton Explorer Belousov–Zhabotinsky N-Body Problem PolarClock Rainbow Worm
Copyright 2010 Stanford Visualization Group