What’s this site?

This site contains my tools and articles about information visualization, including some working diagram generators.  I’m Ben Peterson; I work primarily in finance and risk with a focus on user experience, information management, and visualization.  Feel free to contact me via LinkedIn.

Can I use the tools and diagram generators freely?

Yes.  You may use the text, images, code (if you can decipher it — see below) and visualizer outputs for whatever you like.  I retain the copyright on text, images and code and I would appreciate feedback/credit where appropriate.

Where do these visualization tools come from?

DataSmith is my toolkit, methodology and philosophy for visualization of complex information structures.  The code, examples and documents on this site are stripped-down fragments of DataSmith.  Feel free to get in touch with any further questions.

I like these visualizers but they don’t have the colors / features / scalability / robustness that I want.

Sadly that’s true.  The code on this site works but it represents a best-effort and it’s intended more to illustrate the art of the possible than to form a full-scale product.  Some of the visualizations on this site I use myself, so the options available reflect whatever I’ve happened to use; some of them are just examples of concepts.  I’m unlikely to have the time to invest further in these, but please get in touch and I’ll try to assist.

Why’s the code so hard to find / read / extend / reuse / love?

Because it’s adapted from tools that are themselves one-person hobby projects that are adapted from other hobby projects, I’m afraid! Serious projects should not incorporate this code, but the concepts should still be useful.

Oh.  Well, who writes good javascript visualization code?

Code on this site uses:

  • d3 (but not very heavily or very well; d3 is great in that it works well with the DOM and handles SVG transitions, but those aren’t overriding concerns by any means)
  • dagre.  Ah, at last something interesting in this list!  A very good, readable implementation of Sugiyama graph layout.
  • Webcola.  An excellent mini implementation of a contstraints-based graph layout with various optimizations.
  • Perhaps other things I’ve forgotten.

By contrast, DataSmith server side code, which is in Python, uses:

  • Pandas (for data shaping and crunching)
  • NetworkX (excellent graph library for Python)
  • …and there is no good graph layout library for Python, which is great really, as it means we can write our own…