Я работаю над приборной панелью с отзывчивой картой в центре, которая должна занимать наибольшее доступное пространство (stretch_both
) и два графика производительности с обеих сторон с фиксированной шириной и высотой растяжения.
Ниже карты находится ползунок, который должен иметь высоту по умолчанию, но растягиваться на ширину карты. Наконец, есть кнопка, которая должна занимать угол и быть фиксированного размера, чтобы не выглядеть неловко.
Вот дизайн:
Вот минимальный не работающий пример приложения каталога:
from bokeh.models import Button, Slider
from bokeh.plotting import figure, curdoc
from bokeh.tile_providers import CARTODBPOSITRON
from bokeh.layouts import column, row, Spacer
map = figure(x_range=(2479280, 2497644), y_range=(5882088, 5901322))
map.add_tile(CARTODBPOSITRON)
plot = figure(plot_width=100)
plot.circle(x=[1, 2, 3], y=[5, 5, 6])
button = Button(label='click me', width=100)
slider = Slider(start=0, end=100, value=0, step=1, title='value')
col1 = column(children=[plot, plot, button])
col2 = column(children=[map, slider], sizing_mode='stretch_both')
col3 = column(children=[plot, plot, Spacer()])
layout = row(children=[col1, col2, col3])
curdoc().add_root(layout)
И вот что я получаю, когда запускаю приложение:
Как ни странно, два из четырех графиков даже не видны, а столбцы имеют разную высоту.
Что можно сделать, чтобы макет больше походил на дизайн?