From CS294-10 Visualization Sp11

Revision as of 23:37, 11 April 2011 by Matthew Can (Talk | contribs)
Jump to: navigation, search


New Project

The new project is about streamgraphs and time visualizations. Don't pay attention to below!

Old Project

Programmatically Defining Units of Measure in Visualization Tools

The visualization framework Protovis introduces the Scale class, which is a mapping from numbers to pixels. However, inputs and outputs into the system are untyped; domain dimensions are floats or integers, and the output is always integers. The task of creating effective visualizations using tools like Protovis could be greatly helped by exposing units of measure to the programmer. Note that this is NOT the same as strong typing; while our notion of 'types' is usually of the program's internal representation, the notion of 'type' I refer to here is the human meaning (for example, pixels, square pixels, kilometers, kilometers per second, meters, meters per second squared). Some elements of language type theory is still relevant, though. The end goal is a system for effectively adding dynamic labels to 2d visualizations, a task current systems struggle with.

(TODO: explain why this is relevant in particular to visualization.)

Visualization, in general, could be described as a mapping task from

Domain dimensions, such as cost, length, currency, ratios, time...


Visual dimensions, basically: length in pixels, area in pixels

OR percentages: such as: 0.5 of a pie chart, 0.2... (the invariant here is that they add up to 1)

There is a small body of literature pertaining to UoM in language research, but I have not found research in either the HCI or visualization literature. Here's one from MSR: http://research.microsoft.com/en-us/um/people/akenn/units/ .

Jeff Heer mentioned that he had an implementation of Protovis in Scala; that could be a good starting point.

Otherwise, I may be able to use some kind of cross-compiling hack (such as CoffeeScript to JavaScript) to do my typechecking. See http://amix.dk/blog/post/19614

Resources http://stackoverflow.com/questions/107243/are-units-of-measurement-unique-to-f http://stackoverflow.com/questions/4319555/preserving-units-for-calculations-in-programming http://stackoverflow.com/questions/1312018/are-there-any-languages-that-allow-units


Dan - Apr 11, 2011 03:45:11 pm

You definitely found a great topic, representing time! I think that hashtags and tweets would be an interesting data set because it is constantly changing, and also you are most likely to find overlapping attributes within tweets. It would be interesting how you could find overlaps in two different areas of different tags and optimizing the visualization display.

Dhawal - Apr 11, 2011 03:36:33 pm

Interesting visualization and looking forward to end-result. I would recommend working on one particular dataset since visualizations are closely linked with data. I'm sure you'll have clarity about data and your visualization technique once you start working.

Siamak Faridani - Apr 11, 2011 03:41:08 pm

I am incapable of interpreting streamgraphs properly but seems to be a very proper way of visualization for twitter domain and you have chosen an interesting domain. I am wondering if you can use methods like LSI and co-occurrence matrices to get a better neighborhood placement.

David Wong - Apr 11, 2011 05:09:09 pm

Interesting idea. Another data set that could be interesting are songs that are currently being played from users of music streaming sites, like hypem (http://hypem.com/#!/).

Matthew Can - Apr 11, 2011 06:23:39 pm

I like the idea of plotting overlapping relationships over time. Twitter messages are an ideal domain. Some other domains you could look at are word co-occurrences or Google search terms. I wouldn't worry about encountering sets that are geometrically infeasible. You can just restrict yourself to examples where your visualization works, and I think the results would still be interesting.

[add comment]
Personal tools