RSS LJ

July 7, 2006

Visualize ()

by fluffy at 8:46 PM
Just a little data visualization app I whipped up for a specific purpose at work. Sadly it'll never be end-user visible (just like most of the cool mini-apps I've written), nor can I ever say what it's for.

Sure looks cool, though, doesn't it?

Doing it was vitally important to actually understand how to go about solving a problem (and it also served as a framework for implementing the solution). It's amazing how crappy the state of data visualization software is; it was quicker for me to whip this up in OpenGL than it would have been to try to find something useful for visualizing extremely complex 8-dimensional data with a lot of non-obvious correlations.

Comments

#7697 07/07/2006 09:27 pm
Pretty cool. Needs more x-wings, though. The circle towards the bottom looks rather like it's being fertilized.

It's like a inkblot test for geeks... You should fool around with it a little, pump in different data and see if you come out with anything that looks cool.
#7698 07/07/2006 10:07 pm
I'll have to see what happens when I throw non-[SECRET PROJECT] data in. It's actually a pretty generic (in terms of what it accepts, not in terms of what it does) multivariate visualization and clustering tool.
#7699 07/07/2006 10:09 pm
Maybe something whimsical, like a graph of gummi bear color frequency in a bag. I'm trying to think of ways to add more dimensions to that... Maybe brand, color, and frequency?
#7700 07/07/2006 10:21 pm
It has to be numerical. Enumerated types (e.g. brand) don't work.
#7701 07/07/2006 10:23 pm
fluffy:
It has to be numerical. Enumerated types (e.g. brand) don't work.

Then assign them numbers... I mean, we're not going for hard science here... Just give that axis a basic unit value.
#7702 07/07/2006 10:58 pm
Er, that's what "enumerated" means.
#7703 07/07/2006 11:03 pm
fluffy:
Er, that's what "enumerated" means.

We have just exceeded what I remember about data manipulation. Why can't it handle that? Are the units non-scalable? (like x=single units, y=decimal values, z=zillions)
#7704 07/08/2006 12:06 am
Wait, how do you get eight variables from that? X, Y, Z, dX, dY, dZ, hue, and... um, shininess?
#7705 07/08/2006 12:17 am
It only displays 6 dimensions, as xyzrgb, but the dimensions which are displayed are a projection down from the original 8 (and can really come from any arbitrary number of dimensions). Also they could be displayed using alpha and point size, but I found that to be less useful.

The displacement relates to a spatial distortion which has to do with the clustering algorithm I'm developing (and as far as I know it's unique and possibly patentable so I'm not going to give away anything more about it), and the circles represent the clusters it's found (with concentric rings representing variance, standard deviation, and upper-bound radius).
#7707 07/08/2006 09:16 am
Conspyre:
Why can't it handle that? Are the units non-scalable? (like x=single units, y=decimal values, z=zillions)

Sorry, I didn't notice this post earlier. What you were asking was like making cat=1 dog=2 emu=3. So then cat+dog=emu.