Использование CSS с боке Python - PullRequest
       6

Использование CSS с боке Python

0 голосов
/ 02 сентября 2018

Я пытаюсь создать разрывы строк внутри категориальных меток оси X с очень длинными строками, в точности как этот вопрос . Там есть ответ на вопрос, но у меня проблемы с его работой.

Часть ответа на языке Python выглядит следующим образом:

main.py

from bokeh.plotting import ColumnDataSource, figure
from bokeh.models import LabelSet, FixedTicker
from bokeh.io import curdoc, show


factors = ["Some very long text string\nthat has now been cut\na",
           "Some very long text string\nthat has now been cut\nb"]
y = [50, 40]

# arbitrary placeholders which depends on the length and number of strings
x = [0, 2]
x_label = [0.65, 2.65]  # This is offset is based on the length of the string
y_label = [-2, -2]  # offset under the plot

source = ColumnDataSource(
    data=dict(factors=factors, x=x, y=y, x_label=x_label, y_label=y_label))

p = figure(x_range=(-1, 3), y_range=(0, 52))

p.circle(x='x', y='y', size=15, fill_color="orange", source=source)
p.xaxis.ticker = FixedTicker(ticks=x)

p.xaxis.major_label_text_font_size = '0pt'  # turn off x-axis tick labels
# p.xaxis.major_tick_line_color = None  # turn off x-axis major ticks
p.xaxis.minor_tick_line_color = None  # turn off x-axis minor ticks

labels = LabelSet(x='x_label', y='y_label', text='factors', source=source,
                  level='overlay', render_mode='css', text_align='center')

p.add_layout(labels)

curdoc().add_root(p)

CSS часть ответа выглядит следующим образом:

styles.css

.bk-annotation-child {
    white-space: pre-wrap;
    text-align: center;
}

Хотя у меня достаточно опыта работы с Python, у меня нет опыта работы с CSS. Как использовать часть файла CSS?

Полагаю, что это как-то связано с render_mode='css' частью LabelSet, но прямой ссылки на styles.css нет. Должен ли он быть в определенном каталоге?

...