使用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文件列表,列表似乎不可变。