I use bokeh embedded via the components function.
Acutally I use :
plot.sizing_mode = "scale_width"
Which scales according to the width and maintains the aspect ratio. But I would like to have a responsive width but a fixed or maximum height. How is that possible to achieve?
There are stretch_both
and scale_both
options.
How the item being displayed should size itself. Possible values are "fixed", "scale_width", "scale_height", "scale_both", and "stretch_both".
"stretch_both" elements are completely responsive (independently in width and height) and will resize to occupy all available space, even if this changes the aspect ratio of the element. This is sometimes called outside-in, and is a typical behavior for desktop applications.
...
"scale_both" elements will responsively resize to for both the width and height available, while maintaining the original aspect ratio.
https://docs.bokeh.org/en/latest/docs/user_guide/layout.html
You manually set the height and width for the two plots, and set sizing_mode='scale_width' for the layout/gridplot, as follows (this will set a fixed aspect ratio and allow you to scale by width):
plot1 = figure(width=1000, height=300)
# add lines here
plot2 = figure(width=1000, height=100)
# add lines here
plots = gridplot([[plot1], [plot2]], sizing_mode='scale_width')
show(plots)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With