Изменить стиль вкладок в боке - PullRequest
1 голос
/ 23 апреля 2019

Хотелось бы узнать, есть ли способ изменить свойства вкладок, созданных на графике боке. Изменения, такие как увеличение шрифта текста, изменение ширины вкладки и так далее. Ниже приведен простой код для создания графика с двумя вкладками.

from bokeh.models.widgets import Panel, Tabs
from bokeh.io import output_file, show
from bokeh.plotting import figure

output_file("slider.html")

p1 = figure(plot_width=300, plot_height=300)
p1.circle([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], size=20, color="navy", alpha=0.5)
tab1 = Panel(child=p1, title="circle")

p2 = figure(plot_width=300, plot_height=300)
p2.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=3, color="navy", alpha=0.5)
tab2 = Panel(child=p2, title="line")

tabs = Tabs(tabs=[ tab1, tab2 ])

show(tabs)

1 Ответ

2 голосов
/ 23 апреля 2019

Вы можете переопределить стили вкладок Bokeh по умолчанию, как показано ниже (работает для Bokeh v1.1.0).

Обратите внимание, что реализация библиотеки CSS Bokeh может измениться в будущие версии.

Приведенные ниже стили css будут работать для v1.1.0, но не обратно совместимы с v1.0.4

from bokeh.plotting import save, figure
from bokeh.models import Paragraph, Panel, Tabs, Column

template = """
{% block postamble %}
<style>
.bk-root .bk-tab {
    background-color: cyan;
    width: 200px;
    color: red;
    font-style: italic;
}

.bk-root .bk-tabs-header .bk-tab.bk-active{
background-color: yellow;
color: blue;
font-style: normal;
font-weight: bold;
}

.bk-root .bk-tabs-header .bk-tab:hover{
background-color: yellow
}

</style>
{% endblock %}
"""

p = Paragraph(text = "Another tab", width = 600)

plot = figure()
plot.line(x = [1, 2], y = [3, 4])
tabs = [Panel(title = 'Tab1', child = plot)]
tabs.append(Panel(title = 'Tab2', child = p))

save(Column(Tabs(tabs = tabs, width = 600)), template = template)

Результат:

enter image description here

...