What is the best visualization for seeing changes in distribution over time in hierarchical data?

I am trying to find a good visualization for how how I spent my time is changing over time. I can visualize this data for a single interval very well with a sunburst or treemap chart:

But visualizing the changes in the distribution is more challenging. I have taken a look around, and I think my best bet is to create a custom stacked area chart with support for hierarchical data. A version of the normal stacked area chart follows:

I wanted to ask for advice here before embarking on this project. I don’t care what framework/language I’ll use for this. (I currently plan to use D3.js.)

2 Likes

A very simple but not always possible answer would be to make an animated visualisation, which is quite simple to do in Julia. If space is not particularly an issue, you could do a similar thing without animation where you create the visualisation for a few timestamps over the duration and highlight any key changes.

1 Like

What are the Julia options for doing an animated version? I don’t think there is anything on the shelf, so I’ll have to use Luxor to draw everything myself, no? I also like a web version if it’s not static; Luxor wouldn’t be a good choice then.

1 Like

Here’s the Luxor documentation for animations. I’ve not used it but it seems pretty intuitive.

https://juliagraphics.github.io/Luxor.jl/stable/animation/

2 Likes

I am probably unimaginative, but I would do simple scatterplots at various levels of hierarchy.

1 Like

There are many libraries that support creating animations with Julia.

2 Likes

Maybe something like this if you can put the activities into the boxes.

1 Like

There is a relatively new package that @daschw made for Sankey Diagrams in Plots.jl

that looks almost like a Sankey Diagram but not quite.
Normally Sankey Diagrams have multiple inputs and multiple outputs to each item, and matain same volume in as out.

That diagram actuallyh looks like it would be more effective than a vanillia Sankey for visualizing how time is spent.
Every item only goes to itself, but it is resorted in each layer as to how much volume it has.
Which means you get upwards lines connecting things increasing and downwards for things decreasing

3 Likes

How was this drawn? It’s pretty good, but it doesn’t support hierarchical data, which is my main pain point.

That’s from ggalluvial (in R). As you say, to make a hierarchical version would probably require some work.

1 Like