Bokeh小部件CSS

时间:2017-02-23 10:50:19

标签: python css bokeh

使用Bokeh(0.12.4)时,我发现了以下问题: 当我设置'选择'的宽度时元素以这样的方式,它不能 完全显示其内容Bokeh将调整大小。

这往往会打破我的想法(请注意,我并不是很好 在这)。 我目前的解决方法'是实际定义以下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>

(N.B。这是根据Bokeh示例改编的)并对css类进行硬编码 脚本,因为,显然,如果通过提供,Bokeh不接受相同的设置 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来实现这一点 实现。 例如。我想知道在没有定义模板AND的情况下是否可以做到 将属性强加给所有选择器。

此外,作为此问题的扩展,如何在不借助模板的情况下将CSS文件传递给Bokeh。我已经尝试了CSSResources,但没有得到任何地方,因为它会产生一个CSS文件列表,列表似乎不可变。

0 个答案:

没有答案