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.
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.
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.
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.
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?
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.
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.
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.