Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
52 lines (29 sloc) 1.72 KB


Ico is a JavaScript graph library that uses Raphael to draw. This means it can draw graphs in multiple browsers (including IE).

Raphael is the only dependency. I’ve tested the examples with Raphael 2.0 and they appear to work correctly, but please report bugs through GitHub.


Donations to support future development are welcome and appreciated: Donate

Targeted graph types

  • Sparklines
  • Line graphs
  • Bar graphs

Design considerations and goals

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


Built with QUnit and Node unit tests.


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



MIT License.