Мне было интересно, как лучше всего добавить интервал между виджетами в боке? Прямо сейчас я использую пустые 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)
Спасибо,
0
Blue
16 Апр 2020 в 00:18
1 ответ
Лучший ответ
Класс Widget
расширяет класс LayoutDOM
, который имеет атрибут margin
.
from bokeh.io import show
from bokeh.layouts import gridplot
from bokeh.models import Div
def mk_div(**kwargs):
return Div(text='<div style="background-color: green; width: 100px; height: 100px;">DIV</div>', **kwargs)
divs = [mk_div(), mk_div(), mk_div(),
mk_div(), mk_div(margin=(10, 20, 30, 40)), mk_div(),
mk_div(), mk_div(), mk_div()]
show(gridplot(divs, ncols=3))
1
Eugene Pakhomov
16 Апр 2020 в 02:35
Похожие вопросы
Новые вопросы
bokeh
Bokeh - это библиотека для интерактивной визуализации (включая потоковые или большие наборы данных), которая предназначена для современных веб-браузеров для представления и для языков высокого уровня, таких как Python, Scala и R, для использования.