如何使 Bokeh 工具提示中的文本正确换行?

问题描述 投票:0回答:2

我有一个图表,其中每个点都是 Twitter 上的一个帖子。当您将鼠标悬停在某个点上时,会显示包含帖子内容的工具提示。

问题在于,当工具提示显示在左侧时,文本不会换行。相反,它显示在一行中,并且工具提示位于绘图之外,因此整个文本都不可见。当工具提示显示在右侧时,不会出现此问题 - 文本正确换行并且可以阅读。有什么办法解决这个问题吗?

以下是屏幕截图的链接,显示显示错误的工具提示(左侧)和正确显示的工具提示(右侧):https://i.stack.imgur.com/r8HKL.jpg

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
)来自行换行文本,但它们对工具提示没有任何影响。如果有人知道如何让他们真正断线,那也会有帮助。

python bokeh
2个回答
7
投票

使用自定义工具提示:

https://docs.bokeh.org/en/latest/docs/user_guide/tools.html#custom-tooltip

例如:

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

p = figure(tooltips=tooltips)

0
投票

@x 和 @y 默认在工具提示上下文中可用。包括我 它们位于 HTML div 结构中。

tooltips = """<div style="width:200px;"><b>@x\t\t:</b>\t\t\n@body</div>"""

© www.soinside.com 2019 - 2024. All rights reserved.