HyperTools: A Python toolbox for gaining insights into high-dimensional data(hypertools.readthedocs.io) |
HyperTools: A Python toolbox for gaining insights into high-dimensional data(hypertools.readthedocs.io) |
"To deal with hyper-planes in a 14 dimensional space, visualize a 3D space and say "fourteen" very loudly. Everyone does it." -- Geoff Hinton
df %>% dim_reduction_function() %>%
ggplot() + geom_*()
So in a sense, I think you should be looking for a dimensionality reduction library, rather than a plotting library.http://hypertools.readthedocs.io/en/latest/auto_examples/plo...
seems a little disappointing -- it seems to exemplify more than solve the problems of representing 3D data on a 2D screen. (Is it interactively rotatable or something? I did run it locally in a notebook and it didn't appear to be.)
In general I'd say that for any dataset, the ideal visualisation depends on the features and meaning of the data, but almost always some combination of geometry, colour, shape and size can capture all the dimensions. Beyond a small number of categories, colour, shape and size are much less visually informative than geometry. Most often creative use of geometry on different scales is the best first stop for high-dimensional data, for example using faceting (like with ggplot2's facet capability: http://ggplot2.tidyverse.org/reference/facet_grid.html). Simulating 3D is almost never required or optimal.
edit: if you feel you need 3D, you've already failed to represent the data clearly
Why?