Gridplot: one row less high

I have a 3 × 3 gridplot:


The plots in the second row (D E F) are essentially one-dimensional, they only indicate whether several conditions are true or not w.r.t. the x-axis:

I disabled the y-axis including grid lines, and set the aspect_ratio to 10 to take up as little vertical space as possible. This works well as a single plot, e.g. in the notebook.

The other plots in the grid, as well as the gridplot itself, should fill up the available space.

To achieve that, I set sizing_mode to 'scale_both' on the plots in the second row, and to 'stretch_both' on the other plots as well as the gridplot.

Unfortunately, for some reason Bokeh seems to enforce the aspect ratio which I set only on the plots in the second row, on all plots:

The gridplot fills all the available width, but only a fraction of the height.

Is this a bug, or did I do something wrong? Is there a way to achieve what I want?

More generally speaking, I very often run into problems when trying to achieve a specific layout in Bokeh. Is there documentation of the algorithm beyond Creating layouts — Bokeh 2.4.2 Documentation? In particular, I don’t understand how the different properties of different plots and gridplot interact to create the layout. If I understood the algorithm, it might be easier to put it to use.


The only way I have found to at least approximate my intended layout is to set aspect_ratio on all plots (5/3 for the ones in rows 1 and 3) and sizing_mode='scale_both' everywhere:

The disadvantage is that this layout does not respond to available height.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.