Ico is a JavaScript graph library that uses Raphael to draw. This means it can draw charts in multiple browsers (including IE).
Raphael is the only dependency.
- Sparklines
- Line graphs
- Bar graphs
- Clarity: Use of white-space to help lend clarity to graphs, nominal scale vs. ordinal scale
- Simplicity: Minimal use of decorations and lines, reliance on the Gestalt principle of closure
- Conciseness: Avoidance of graph types that don’t efficiently present data (pie charts, radar maps)
These goals are based on recommendations in Stephen Few’s books:
- Show Me the Numbers: Designing Tables and Graphs to Enlighten
- Information Dashboard Design
Which was generally in turn based on Edward Tufte’s work.
I’ve been rebuilding sections of the library with unittest.js
from scriptaculous. Unit tests can be run in a browser by loading the HTML files. I’m also using these tests to help profile the library and improve performance.
- Humanize labels: rather than showing 1,000,000 optionally show “1m”
See index.html for current API usage. This will change as I evolve the API to support the targeted graph types.
I’ve added semicolons to line endings to make compressing/obscuring the library easier (if you do that sort of thing).