Composing plots with share labels

Initially I was thinking of using holoviews.GridSpace, but I encountered several issues:

  • matplotlib backend fails when there is only 1 element on y-axis
  • I cannot title individual plots and ignore the coordinate axis of the plots

The closest I have arrived at is using holoviews.Layout, but even there there are limitations:

  • Create a shared legend.
    Currently I use the workaround of enabling the legend of only the last plot and making sure there are dummy curves with nan values
  • Control the spacing between elements. (No workarounds found)
  • Create a shared xlabel. (No workarounds found)

Another option would be to have these as options in NdLayout.

Basically starting from the default presentation, I want to do are summarized in a screenshot:

You probably would have to dig into plot hooks and jump to the matplotlib level. Alternatively, you can submit an issue and help contribute these changes to HoloViews!

Issue opened: More control over `Layout` composition · Issue #6335 · holoviz/holoviews · GitHub