Я обнаружил следующую проблему при работе с Bokeh (0.12.4): Когда я устанавливаю ширину элемента «Выбрать» таким образом, чтобы он не мог отображать его содержимое в полном объеме Bokeh приспособит размер.Виджеты Bokeh CSS
Это имеет тенденцию нарушать макет, который я имею в виду (разумеется, я не очень хороший ). Мой текущий «обходной путь» является на самом деле определить следующий шаблон HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<style>
@import url(https://fonts.googleapis.com/css?family=Noto+Sans);
body {
font-family: 'Noto Sans', sans-serif;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
color: #fff;
background: #2F2F2F;
}
.selector select{
width: 97%;
overflow: hidden;
}
</style>
<meta charset="utf-8">
<title>Bokeh Crossfilter Example</title>
{{ bokeh_css }}
{{ bokeh_js }}
</head>
<body>
{{ plot_script|indent(8) }}
{{ plot_div|indent(8) }}
</body>
</html>
(NB это заимствовано из примеров бока) и жесткий код класса CSS в сценарий, потому что, по-видимому, бок не принимает те же настройки, если она осуществляется через theme.yaml
# -*- coding: utf-8 -*-
from bokeh.layouts import row
from bokeh.models import Select
from bokeh.plotting import curdoc, figure
def plot_placeholder():
p = figure(tools='pan,box_zoom,reset',responsive=True);
return p
############################################
#options
Data = ['Supercalifragilisticexpialidocious', 'dumb', 'example']
sel = Select(title='Option 1', value = 'None', options = ['None'] + Data, name='OptionSelector', css_classes=['selector'])
#############################################################################
layout = row([sel, plot_placeholder()], sizing_mode='fixed', width=400)
curdoc().add_root(layout)
curdoc().title = "Statistical Plots"
Это работает, но мне интересно, можно ли сделать это с помощью Python-только реализации. . Я хотел бы знать, можно ли обойтись без определения шаблона И , заставляющего свойства для всех селекторов.
Кроме того, как расширение этой проблемы, как передать файл CSS в Bokeh, не прибегая к шаблонам. Я пробовал CSSResources, но ничего не получал, поскольку он будет давать список файлов CSS, этот список не может быть изменен.
Благодарим за информацию. Моя цель - приложение Bokeh, которое требует минимум работы за пределами python (желательно ни одного). – Nox
Я попытаюсь установить эти значения внутри python и сообщить вам, смогу ли я найти решение позже. – Anthonydouc