Information design


lic_thumb.png While producing some flow visualizations lately, I've found that smoothing a random texture gives less pixellated looking result than using a purely random texture. I added a texture keyword a while ago so that a common texture could be used for several LIC images, but now I've discovered that playing around with the texture a bit can be useful. I've been creating the texture with:

IDL> r = randomu(seed, xsize, ysize)
IDL> t = bytscl(smooth(r, 3, /edge_truncate))

Click on the thumbnail image to see the full image.

Code swarm for Python The code_swarm project has created visualizations of the time history of commits to four popular open source projects. It's interesting how each project has its own unique character; there is a large difference between, say, the Python and Eclipse commits.

The visualizations were made with Processing.

David Fanning made some fixes to the Brewer color tables addressing the issues reported in the comments of the last update by Philippe Le Sage. The update includes the following:

  1. Fixing values in sequential and diverging color tables.
  2. Fixed up names of diverging color tables
  3. I also realized that it was unnecessary to include multiple versions of each of qualitative color table because the one with the most colors is a superset of the other versions.

See the last update for routines to access these color tables.

Thanks David and Philippe!

people.jpg processed with a Processing routine I have always been interested in Processing, the open source project that, according to its website,

...is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain.

I read Ben Fry's blog and his book is on my Amazon.com wishlist.

Now, John Resig has created a Javascript API for Processing. Expect a lot of more use of Processing on the web.

I modified one of the demos to use some IDL example data.

Form of facts and figures Information Design Patterns is a site created from a master's thesis that catalogs many common chart types. Many types are listed along with some useful ways to browse through them. Each chart type consists of description, a sample layout, a real world example, and a (mostly not active yet) implementation sections.

2007 Informational Graphics winner: Modeling the Flight of a Bat The deadline for the NSF visualization contest is coming up on May 31. Winners will be published later this year on September 26.

Check out last years winners (and back to 2003) to see the level of competition. Of course, the descriptions of the winning entries concentrate on the science on display, but I wish there were also some information about the tools and process used to create the visualization.

Yee electric field frame 252 I have finished the line-integral convolution (LIC) implementation as a DLM and cleaned it up a bit (see other articles for background). More work is needed, but it can give useful results now. The movie at the right took about six minutes to generate (300 calls with 300 by 300 images).

The API for the call is pretty straightforward. There are two required positional parameters u and v which are m by n float arrays (they must be float arrays right now). There is one optional keyword texture which can be set to a byte array the same size as u and v. It is useful to set texture to the same array for frames of a movie; there will be a lot of jitter if you don't.

Installation is slightly more complicated than for IDL code. Grab the zip file, unzip it, and place the contents in the IDL path and the IDL DLM path. Start IDL and type:

IDL> vis_build_flow

You should be ready to go as long as your !make_dll system variable is set correctly (which is probably the case on normal Unix platforms, but only if you have installed the Developer Tools on Mac OS X or Visual Studio on Windows). I would be interested in people's experiences trying to install this since I haven't distributed a DLM on this site before.

I am going to package some visualization routines together with the vis prefix, but I'm waiting until I have a critical mass of useful routines before distributing the whole thing.

UPDATE: by the way, if you use vis_lic and can share your results, I would like to see any images made with it.

Boulder weather

NovoSpark has a new visualization for the six day forecast. Time is the independent variable and six different weather parameters (temperature, wind speed, cloudiness are included) are plotted on the vertical scale. I see promise in this display, but I wish there were more explanation of the variables displayed, a key to the color, etc.

Link found via information aesthetics.

chart.png

The Google Code project Mail Trends visualizes email in any IMAP mailbox (including Gmail if you have set it up for IMAP). It uses a Python interface to the Google Charts API to produce charts of sent and received email organized by time, sender, threads, mailing list, etc.

Link via Information Aesthetics.

  1. [shell-fu]$ lists handy, or just plain cool, Unix shell commands. You can learn some shell scripting through the great examples on this site.
  2. FlowingData is giving away a copy of Tufte's
    The Visual Display of Quantitative Information. To enter, post a comment on any new post on FlowingData in the next ten days.
  3. Terminal tip to have all links open in tabs of a single Safari 3.1 window. This is one of the reasons I switched from Safari back to Firefox recently (the other being that the Firefox 3 betas have fixed the issues I was having with Firefox).

Next Page »