我已经使用Bokeh进行了可视化,并在27英寸的iMac上进行了测试,一切都很好:
但是,当我在15英寸的笔记本上工作时,我发现事情变得凌乱:
从底部的直方图可以看出,左侧还有更多可用空间,整个带有黑色图像和分类器的“盒子”应该位于此处。我不确定为什么会这样以及如何解决。
代码并不小,但这是我的图形尺寸和所使用的布局:
# black square
pi = figure(plot_width=230, plot_height=160)
# Left histogram
pv = figure(plot_height=380, plot_width=235)
# Tab
p = figure(plot_width=640, plot_height=480)
# Bottom histogram
ph = figure(plot_width=880, plot_height=200
# Layout
l = column(
row(column(tabs, t_slider),
column(pi, pv)
),
ph)
curdoc().add_root(l)
我希望幻灯片+选项卡和黑色正方形+直方图可以并排在两列中,就像使用更大的显示器时一样。我认为由于某些CSS配置,Bokeh并未使用所有可用空间。但是,从底部直方图可以看到有足够的空间将第二个框放置在适当的位置。
答案 0 :(得分:0)
您需要响应式布局。我相信这应该可行:
from bokeh.layouts import layout
l = layout(
[
[tabs, t_slider, pi, pv],
[ph]
],
sizing_mode="stretch_both"
)
如果要保持宽高比,可以使用sizing_mode="scale_both"
。
有关不同的sizing_mode
选项的更多信息在文档中:
https://bokeh.pydata.org/en/latest/docs/reference/models/layouts.html#bokeh.models.layouts.LayoutDOM.sizing_mode