如何在悬停文本 Plotly 中打断长线?

jes*_*cha 8 python text plotly

我有一个包含长行(大约 200 个字符)的悬停文本。问题是它变成了一个贯穿整个图形的长矩形,因为它被剪切,所以不可能看到完整的文本。

我的数据在数据框中。我正在绘制 x 和 y,并在悬停文本中添加包含描述的 az 变量。

我的剧情图

是否可以调整文本框的高度和宽度?或者我可以将文本分成几行吗?

这是我目前的代码:

fig = make_subplots(rows=2, cols=1,column_widths=[1], 
                    subplot_titles=["A", "B"])
fig.add_trace(
    go.Scatter(
        x=df.varA,
        y=df.varB,
        hovertext = df.varC,
        marker=dict(color='darkblue'),
        mode = 'markers'
    ), row=1, col=1)

fig.add_trace(
    go.Scatter(
       x=df.varA,
        y=df.varB,
        hovertext = df.varC,
        marker=dict(color='darkblue'),
        mode = 'markers'
        ), row=2, col=1)


fig.update_layout(barmode='stack',showlegend=False, height=900, width=1000,title_text="Example")
fig.show()
Run Code Online (Sandbox Code Playgroud)

请帮我 :)

fra*_*567 5

根据文档,字符串似乎支持 HTML 标记。

因此,您可以<br>在字符串中添加一些标签来换行:

label = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.<br>Sed eget arcu sit amet purus volutpat euismod sed id quam.
Run Code Online (Sandbox Code Playgroud)

  • 对于感兴趣的人,我现在使用:hovertext = df.varC.apply(lambda txt: '&lt;br&gt;'.join(textwrap.wrap(txt, width=50))) (8认同)

Der*_*k O 5

由于 plotly 在 html 中读取包括标签,因此您可以将\nbreak 标签<br>插入到要在显示时换行的 df 变量的文本中:

df.varA = df.varA.str.wrap(30)
df.varA = df.varA.apply(lambda x: x.replace('\n', '<br>'))
Run Code Online (Sandbox Code Playgroud)