Closed radial pattern with the same orientation applied to all samples.

Team of Jeremy, Adrian and Leslie

This demo is online, and can be viewed here.

The concept places all study samples on the same eight spokes and allows the user to select the study and variable by clicking the ‘wedges’  near the center.  Navigational highlights include:

1. Variables for each study are shown when the pointer is over each wedge and lines are then drawn upon mouse-down.

2. If a new variable is selected, which is different than the previously selected variable, the orientation is adjusted so that the current variable is on top.

3. The user can select all four studies by clicking the letters surrounding the spokes.

4. Values can be seen by placing the pointer over and individual dot (data point) and a circle is drawn to show the relative position of other points along other spokes.

5. The play button (which is currently not functional) will be used to animate between different time points in the longitudinal studies.

We are submitting the following visualizations:
– A heat map created in R: Association strength is encoded by lightness of color. Each column corresponds to a pair. In other words, we transformed the upper triangle of the matrix into a vector. Each row corresponds to a participant in each venue. Here we presented all the participants’ vector because in this way we see the contrast among groups with possible noise/variance.
– A visualization made up of cascading triangles showing the comparison between each “story” in each of the venues: In the parallel axis, nodes are placed. For a fixed node A, the pairs are presented by linking the left and right parallel axis with the width proportional to the association strength.   The same information in other network is presented in the same way linked to the next parallel axis.
A node-circle visualization created in Processing: Each circle is a node and each sub-region in a circle represent a network. The coloring of these regions corresponds to normalized relative centrality values. The bars shows the connection strength of a node with all other nodes in corresponding network. The thickness of each bar shows the relative strength of the connection.

The same plot but using the length of the bar as encoding for node link strength.

– An animated, horizontal stacked chart created in a spreadsheet software and Quicktime: Each scene is a “venue” showing each of the stories plotted against rest of the stories.
We created a visualization which uses human completion mechanisms instead of grouping mechanisms to show dense subsets of a matrix/graph.

Team members: Jim Hill, Ye Liu, Shuang Huang

Overview

Our goal is to develop a tool that will answer these two questions.

  1. Given a set of frame’s, what is the general distribution of the frames.
  2. Given two or more frames, how do they each compare.

To solve the first question we first decided that there must be a way to calculate the distance between two frames.  The method of calculation is not important, how it is visualized is.  We decide to pick a frame as a reference, which frame does not matter.  We then encode the distance of each frame from the reference as the distance of a green circle from the reference frame (red circle) located at the center of the screen.  Frames are spaced evely around the reference frame.  No information is encoded in the frame ordering.  The main window looks like this:

Main Window

This is an interactive visualization.  Hovering over any of the frames will display it’s name, clicking a frame will select it and double clicking will cause that frame to be used as the reference frame.

After selecting reference frames, clicking the compare button will bring up a compare window in which the frames are directly compared.  We have currently implemented two methods for comparing frames.

Encoding Differences using Lightness

We first find the difference matrix by subtracting one frames elements from the others.  This will result in a set of positive and negative numbers.  To visualize these differences, the size values are encoded using lightness of the color green for positive values and red for negative values.  A very light color represents a very small difference.  A solid green or solid red represents a very large difference.  The following is an image from the comparison:

Lightness Diff

This method of comparison can only compare two frames.

Encoding Differences using Bars

Our second method of encoding the difference between charts was to create a bar chart for each frame element to be compared.  The visualization still consists of a matrix of boxes, but each box contains a bar chart that shows the relative sizes of each element of each frame.  This allows for more than one frame to be visualized at one time.

Bar Diff

Source Code:

Currently this has only been tested on Linux.  It requires linking with the Qt libraries.  The source code can be found at:

http://www.cs.wisc.edu/~jshill4/cs838/DesignChal1/Project

Design Prototype

March 3, 2010

in Student Posts

Team: Emma Turetsky, Nakho Kim, Chaman Singh Verma

We felt this assignment contained two different problems. One was to get an overall picture or idea of the whole dataset, this would be a general view diagram, the other was to see how one skill or node relates to all the other nodes in the dataset and compare that between two datasets, this would be an egocentric diagram. It is very hard to do both together as it can easily clutter the visualization, making it harder to see the data and make it difficult for patterns to emerge, an example of this is the “spoke graph” the prof. Gleicher’s. So instead, we chose to focus on these problems seperately, rather than trying to do both at one time.

The egocentric approach, which is the one we ultimately chose, is the optimal way for showing individual node connections between one node and the others, but it is hard to show more than one degree of connectedness, making it hard to see the network overall as a whole, even if all the diagrams for the nodes are presented.

One of the major difficulties we saw with this approach was that there was too much clutter, especially around points with low correlation, so we decided to come up with a visualization which reduces the clutter without getting rid of the data completely. We chose a visualization of the second type, one which focuses on how the data relates to one data set, but can be easily compared between datasets.

Our visualization is made up of a cylinder. There is a node sticking up vertically from the cylinder, this is the skill/point we are focusing on at the moment. When that point is in the center, you can see one half of the cylinder, the horizontal distance from the main point of the other points on the cylinder represent the correlation. So in this view, the edges of the cylinder are the .5 mark and the point opposite the focused node is 0. Note that this means that distance can be either to the right or the left of the focused point, but direction doesn’t matter. Where a point is vertically on the cylinder also does not matter, but can be used to show multiple points with the same of similar distance without having them overlap. If two points are the same horizontally but different vertically, they still have the same value.

The view can also be rotated so that if you wish to, you can see the points with lesser correlation on the other side of the column. What is nice about this view is that we can display multiple datasets on one column, as long as the focus point is the same. We have also show multiple focus points by stacking the columns on top of each other. While the prototype is not completely finished, we have a program which gives the general idea of what we are trying to achieve.

For a general view diagram, the idea is to show the network as a whole. The problem with this is that it gets easily cluttered and makes it hard to read individual connections. In a general view diagram, if the data points hold fixed positions, it’s easy to compare to or more networks, but hard to make a comparison. One example of this is the “golfball” view shown in class. If, in a network diagram, node positions are reordered depending on the dataset, it’s easy to see patterns within one dataset, but extremely difficult to compare between datasets.

For an overall view, we decoded to use a fixed comparison of data matrices. We did this by essentially using the given matrix as the x and y coordinates in a plot and the correlation as some other value, in this case color. Then we noticed that since the matrices are identical, we could replace one triangle of a matrix with the other to get one graph where the coordinates on one side are symmetric with the coordinates on the other side. Doing this for a wafer plot gives us the following three plots.

Note that while you can clearly tell that the datasets have some differences, it is really hard to see what exactly those differences are. Due to the statistical software used, a gradient is formed, so though the original data on the vertices are distinct points, these plots imply and idea of connection and intermediate points between the data.

Ancient Book

March 2, 2010

in Cool Stuff

A colleague pointed me at an ancient, but interesting book: a circa 1939 textbook on graphical presentation of data:

William Brinton. Graphic Presentation. Brinton Associates, 1939.

Available online.

Week 7: March 2-4

March 2, 2010

in Lecture Stuff

Mike’s notes from 3/2: Discussion of contours, and other things from Ware Ch3. 2010-03-02-Layout

Thursday, March 4 is group presentation day

Reading 8: Color 2

February 28, 2010

in Assignments

(readings due Tuesday, 3/16)
(note: this was updated on 3/9 based on feedback from the previous readings)

Here, we’ll dig a little deeper into actually using color for visualization.

(0) Charles Poynton has an excellent “FAQ on Color” – it’s a bit technical, and there is a lot of video specific stuff. But its the best place to learn about concepts like Color Temperature. It might help you understand why XYZ and xyY and LAB are all different.

(1) Cynthia Brewer’s work is a common standard for choosing color sets where you want a sequence of distinct colors (as opposed to continuous ramps). You should play with the ColorBrewer tool to see some of the set suggestions (and use it when you need a set of colors). You should read either a brief explanation or a paper.

(2) One thing that you might want to do is use color to display a continuous variable. Here is a paper (a bit old) where Colin Ware explains some issues:

  • Colin Ware. Color Sequences for Univariate Maps: Theory, Experiments and Principles. IEEE CG&A, September 1988.  (pdf here on Colin’s site – the official versions don’t have color!).

(3) Note that the result here is contrary to what people say (he finds the rainbow map is good). Here’s some arguments to the contrary:

  • Borland and Taylor. Rainbow Color Map (still) Considered Harmful. IEEE CG&A, March 2007. (ieee page)

(4) Here are two recent technical articles about details of using color:

(5) Here’s a designer’s take on what colors mean:

This order is not random, but is not necessarily the order you need to look at them.

What you need to do:

Look over #0 – especially if the concepts from the first readings were confusing. Reading #3 (rainbow color maps) is required. You should look at some of #1 (at least the web page, some reading). Take a quick glance at #5 – its quick and fun. Read over at least one of #4 – don’t worry about the details (unless you want to), but try to get an idea of the issues involved. And then look over #2 (to whatever depth you want)

And in the comment mention: what you read, and any insights you got from looking at color from all of these different perspectives.

Reading 7: Color 1

February 28, 2010

in Assignments

(due Tuesday, March 10)

Color is a big enough topic that we’ll probably want to spend more than 1 day on it. I’m planning at least 2. For the first color discussion, we’ll have two readings: one on the use of color, the other on some more technical issues.

Chapter 4 of Colin Ware’s Visual Thinking for Design (we’re working through it in order)

Representing Colors as Three Numbers by Maureen Stone. This appeared in IEEE Computer Graphics and Applications, and is a nice summary of the science of color (much better than the chapter of the 559 textbook).

As usual, post a comment indicating that you’ve read these. One thing to think about: how do the technical issues (described by Stone) connect to the design issues (described by Ware).

Another Simple Example

February 27, 2010

in Uncategorized

Here is a simple example of a trajectory (an evolution of the group).

In each case, we start out with things in 2 groups, and the nodes reconnect into 3 groups. There are 3 intermediate steps.

I have generated this data for two different network sizes (12 and 18).

To make things easier, I have not permuted the groups when things are divided into 3 (so, the groups are [0,1,2,3] [4,5,6,7] [8,9,10,11]). But I have also included cases where everything is permuted.

The file naming convention is: bg18pn_000_100.csv which means:

  • 18 = 18 node network
  • pn = start (2 groups) is permuted, end (3 groups) is not permuted (pp=both beginning and end are permuted)
  • 0% of the start
  • 100% of the end

Some examples:

Big ZIP of n=12,18,24, with and without permuted ends: bg.zip

Some simple examples

February 27, 2010

in Uncategorized

Here is the example I used to test my programs with.

There are 3 different “network configurations” (described in terms of cocktail parties of N people):

  1. There is a single host, that everyone knows. Everyone one also knows their two “neighbors” going around the circle.
  2. The party has 2 cliques (each of size N/2), each clique is like the first case.
  3. The same as the second configuration, except that each “non-host” also knows the corresponding person in the other clique.

Here are the three matrices for 3 different sized parties:

If you want all 9 files in one ZIP, download this.