GLVisualize.jl for multi-dimensional arrays


#1

@sdanisch is there a way to visualize A = ones(3,3,3,3,3) on GLVisualize.jl with some sort of hack?


#2

What sort of visualization would make sense for such an object? I can’t really picture one (pun intended). I think that’s the biggest stop-gap here: visualizing anything higher than 3 dimensions (or maybe 4 using an animation) is conceptually difficult.


#3

Maybe something like this?


#4

The question is, what do you need to see? Figuring that out is the hardest part, I suppose.
The video is a cool start! You can always slice things, and show different projections in different windows, or even show sub spaces in a pop-up or things like that :wink:


#5

These projections could be implemented as a series recipe in Plots.jl, and then every backend would have this capability. We’ve also thrown around the idea of series recipes which will automatically reduce dimensions (like PCA or t-SNE reductions on large data and plot them). Maybe there should be a whole HighDimensionalPlots.jl repo of recipes.


#6

I don’t need to see more than 3D, but it would be nice if GLVisualize could be altered to display 4D.

Can I visualize a 4D array in 3D on GLVisualize?

Aside from that GLVisualize is a helpful addition, particularly the GUI, which I’m using as a reference.


#7

No one holds you back of adding a default visualization for a 4D array, which is the equivalent of recipes for GLVisualize :wink:
But as @ChrisRackauckas pointed out, there is likely not a clear default way.


#8

User: I would like to time travel… can you help me?
Community: Just use recipes!

Seriously… a suite of common recipes for visualizing high dimensional data in 2D or 3D would be really great. You probably don’t even need to know much about Plots/GlVisualize to help out.

Who wants to help make it happen? (PlotRecipes is probably the best home for such a thing, btw)