Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
You've probably solved this and moved on

Actually no. This is a back-burner project I've been re-visiting in quiet moments on and for several years. I've arrived at several partial solutions (to the underlying problem rather than the graphing), but I'm generally looking for faster, better, more complete solutions and the graphing is means to one possibility.

I increasingly feel a good candidate to represent a large volume of data like this would be a heatmap.

Heatmaps work well for 3D data on a 2D graph per the examples you linked. They can also work pretty well for 4D data on a 3D graph where the 4th dimension is a continuous function -- like this for example.

But for my datasets, the 4th dimension is discrete and can cover a huge range -- potentially more than there are colors in 24-bits. But even when the range is more reasonable, picking out small variations in the colors of individual pixels is beyond the scope of human eyes. Mine at least.

The best solution I've thought of to date, would be to plot the 4th dimension as a vertical line on top of the 3rd dimension point. Piss poor description :(

If you imagine the following to be a 2D slice through a 3D plot which is oriented squarely with X running horizontally, Y running 'into' the screen, and Z vertically. Then the vertical lines represent the (log10 of the) 4th dimension with the base of the line being the Z point:

Z-max -| -| | -| | | | -| | | | -| | | ||| -| | | ||| ||| -| | || | || | |||| -| | || || | | || | -| | | | ||| || || | -| | | | | || | -| | | || | -| | | | || -| | | | || -| | | -| Z-min -+------------------------------------------------+ X-min X-max

The vertical lines would be continuous. Their low extremity would be the Z-value. Their length the log10 of the frequency.

Now put many of those slices together in the Y dimension with perspective etc. in a 3D plot and you get a visual representation that shows how the data clusters, but also the peaks and outliers within each cluster.

My only problem now is that I cannot work out how to persuade gnuplot to draw it for me :(


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?


In reply to Re^4: [OT] Displaying 4D data ... (Heatmap) by BrowserUk
in thread [OT] Displaying 4D data in a 2D image. by BrowserUk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (4)
As of 2024-03-28 15:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found