gpt4 book ai didi

python - 具有不等宽度项目的 Bokeh 响应行

转载 作者:太空宇宙 更新时间:2023-11-04 05:20:50 26 4
gpt4 key购买 nike

我正在尝试在 Bokeh 0.12.3 中创建一个响应行,其中包含一个图形和一个小部件框,其中小部件框的宽度比图形小得多。

我只能通过以下方式实现前者:

from bokeh.io import output_file, show
from bokeh.layouts import row, widgetbox
from bokeh.models.widgets import RadioButtonGroup, TextInput
from bokeh.plotting import figure

output_file("layout.html")

x = list(range(11))
y0 = x
y1 = [10 - i for i in x]
y2 = [abs(i - 5) for i in x]

# create a new plot
s1 = figure(width=600, plot_height=600, title=None)
s1.circle(x, y0, size=10, color="navy", alpha=0.5)

widgets = widgetbox([RadioButtonGroup(labels=["a", "b"]), TextInput(title="Input:", width=150)], width=150)

# put the results in a row
show(row([s1, widgets], responsive=True))

但这会产生一个响应行,其中图形和小部件框的宽度相等。在平板电脑和移动设备上,这会占用大量宝贵的屏幕空间。

The docs on layouts指定每个项目必须具有相同的大小模式,但不是每个项目都必须具有相同的大小。我找不到任何关于设置每个项目的相对大小的引用。

我试过各种选项,如 sizing_mode,并在不同级别设置宽度,但我无法产生所需的行为。

最佳答案

截至 Bokeh 0.12.3 equal-sizes for children 是内置 Bokeh 布局的唯一可用选项,例如 row等等。但是,您可以使用 bokeh.embed 将不同的子项嵌入到您自己的 HTML 模板中。功能,这将使您更好地控制事物。

例如,如果您调用:

components((s1, widgetbox))

然后你会得到一个元组:

(script, (s1_div, widgetbox_div)) 

您可以模板化 <script>和两个<div> s 到 HTML 模板中。这些组件将显示在您插入 <div> 的任何位置

关于python - 具有不等宽度项目的 Bokeh 响应行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40413198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com