Мне было интересно, как лучше добавить интервал между виджетами в Bokeh? Прямо сейчас я использую пустые Div, чтобы получить некоторый интервал, но это действительно неуклюжий, отсюда вопрос.
import pandas as pd
from bokeh.plotting import figure,show
from bokeh.models import ColumnDataSource
from bokeh.models.widgets import DataTable, TableColumn, Div
from bokeh.layouts import row, column
from bokeh.models.widgets import MultiSelect, Button, RadioGroup
def test_view(request):
# Quick data
original_data = dict(length=[2, 10, 20, 40, 60, 80, 70, 50, 15, 36, 76, 74, 72, 44, 36, 18, 40, 64, 40, 64, 40, 30, 120],
weight=[2, 100, 150, 200, 420, 700, 600, 300, 200, 200, 620, 610, 601, 610, 601, 80, 205, 80, 800, 700, 240, 160, 800])
original_data = pd.DataFrame(original_data)
source = ColumnDataSource(original_data)
# Quick plot
plot = figure(title = 'title')
plot.circle(x='length', y='weight', source=source)
# Quick table
columns = [TableColumn(field="length", title="length", width=100),
TableColumn(field="weight", title="weight", width=100)]
data_table = DataTable(source=source, columns=columns)
# Quick widgets
some_button = Button(label="button", button_type="success")
some_radiogroup = RadioGroup(labels=["1", "2"], active=0)
some_multiselect = MultiSelect(title='multiselect:', value=[], options=[])
# Spacing
dumdiv1 = Div(text='', width=10)
dumdiv2 = Div(text='', width=10)
widgets_layout = column(some_button, dumdiv1, some_radiogroup, dumdiv2, some_multiselect)
figures_layout = row(plot, data_table)
page_layout = row(widgets_layout, figures_layout)
show(page_layout)
Спасибо,