Как сделать так, чтобы текст в подсказках Bokeh переносился правильно? - PullRequest
1 голос
/ 05 июня 2019

У меня есть график, где каждая точка представляет собой пост в Twitter. При наведении курсора на точку отображается всплывающая подсказка с содержимым сообщения.

Проблема в том, что когда подсказка отображается слева, текст не переносится. Вместо этого он отображается в одну строку, и всплывающая подсказка выходит за пределы графика, поэтому не весь текст виден. Когда подсказка отображается справа, эта проблема не возникает - текст переносится правильно и его можно прочитать. Есть ли какое-то решение для этого?

Вот ссылка на скриншот, показывающий плохо отображаемую подсказку (слева) и правильно отображаемую (справа): https://imgur.com/QZKO81A

from bokeh.plotting import figure, show, output_notebook, ColumnDataSource

source = ColumnDataSource(data=dict(
    x=df[0],
    y=df[1],
    desc=post_list,
))
tooltips = [
    ("text", "@desc"),
]

p = figure(tooltips=tooltips)
p.scatter(x='x', y='y', source=source)

Я сам пытался обернуть текст, просто вставляя символы новой строки (\n), но они не влияли на подсказки. Если кто-то знает, как заставить их на самом деле разбивать строки, это тоже будет полезно.

1 Ответ

0 голосов
/ 05 июня 2019

Использовать пользовательскую подсказку, https://bokeh.pydata.org/en/latest/docs/user_guide/tools.html#custom-tooltip,, например:

tooltips = """
<div style="width:200px;">
@desc
</div>
"""

p = figure(tooltips=tooltips)
...