更改散景按钮的颜色?

Change colour of Bokeh buttons?

Bokeh 支持按钮小部件: http://docs.bokeh.org/en/latest/docs/user_guide/interaction/widgets.html#button

这些按钮的颜色可以改为蓝色吗?

我有一组Checkbox Groups排成一列,我需要用header/button之类的东西把它们分开。但它不能是绿色按钮。因此我的问题。

这是我目前设计小部件等样式的方式... 似乎没有办法直接在 python 脚本中更改它们。

您需要一个单独的 .css 文件来设置小部件的样式。 这也意味着您需要 运行 bokeh serve --show myappfolder 而不是 bokeh serve --show myapp.py

创建一个名为 myapp 的文件夹

结构应该是:

myapp
|
+--main.py
+--Templates
   |
   +--index.html
   +--styles.css

index.html 文件:

<!DOCTYPE html>
<html lang="en">
    <head>
      <meta charset="utf-8">
      {{ bokeh_css }}
      {{ bokeh_js }}
        <style>
             {% include 'styles.css' %}
        </style>
    </head>
    <body>
      {{ plot_div|indent(8) }}
      {{ plot_script|indent(8) }}
    </body>
</html>

styles.css:

.bk-root .bk-bs-btn-success {
color: #FDFEFE;
background-color: #21618C;
border-color: #21618C;
}
.bk-root .bk-bs-btn-success:focus {
color: #FDFEFE;
background-color: #21618C;
border-color: #21618C;
}
.bk-root .bk-bs-btn-success:active {
color: #FDFEFE;
background-color: #21618C;
border-color: #21618C;
}
.bk-root .bk-bs-btn-success:hover {
color: #FDFEFE;
background-color: #5DADE2;
border-color: #5DADE2;
}

main.py:

from bokeh.layouts import layout
from bokeh.plotting import curdoc
from bokeh.models import Button

button = Button(label="Test Button", button_type="success")
layout = layout([[button]])
curdoc().add_root(layout)

现在 运行 bokeh serve --show myapp 你最终得到:

您可以使用 button_type 参数。选项:“默认”、“主要”、“成功”、“警告”、“危险”

nextMonthButton = Button(label='next month', button_type="primary")   

primary”是蓝色的。

https://docs.bokeh.org/en/latest/docs/reference/core/enums.html#bokeh.core.enums.ButtonType

创建散景按钮(或任何其他小部件)时,设置 css_classes 属性,然后添加样式部分以设置按钮的颜色。例如,

Button(label="PLAY", width=100, css_classes=['b_play'])

将其添加到页面的样式部分,

<style>.b_play button { background-color: #98FB98 !important; }</style>

此方法可用于设置其他属性,如字体大小。根据您页面的状态,您甚至可以禁用按钮...

<style>.b_stop button { background-color: #A9A9A9 !important; pointer-events: None !important; }</style>

Bokeh 1.1.0 的布局发生了许多变化,所以我想我会分享我是如何使用 css 编辑散景按钮的。

我的文件结构是:buttonBokeh/templates

这是我的 buttonBokeh/main.py 代码:

from bokeh.layouts import layout
from bokeh.plotting import curdoc
from bokeh.models import Button

button = Button(label = "Test Button", css_classes =['custom_button_bokeh'])
layout = layout([[button]])
curdoc().add_root(layout)

这里是 buttonBokeh/templates/index.html

<!DOCTYPE html>
<html lang="en">
    <head>
      <meta charset="utf-8">
      {{ bokeh_css }}
      {{ bokeh_js }}
      <style type="text/css">{% include 'styles.css' %}</style>
    </head>
    <body>
      {{ plot_div|indent(8) }}
      {{ plot_script|indent(8) }}
    </body>
</html>

这里是 buttonBokeh/templates/styles.css

.custom_button_bokeh button.bk.bk-btn.bk-btn-default {
    color: black;
    font-size:12pt;
    background-color: #05b7ff;
    border-color: #05b7ff;
}

我 运行 它在 buttonBokeh 目录中: 散景服务 --allow-websocket-origin=ip_address:xxxx buttonBokeh --port xxxx