【问题标题】:How to break a long line in a hover text Plotly?如何在悬停文本 Plotly 中打破一条长线?
【发布时间】:2019-09-17 12:14:05
【问题描述】:

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

我的数据在数据框中。我正在绘制 x 和 y 并且只是在悬停文本中添加一个包含描述的 z 变量。

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

这是我目前的代码:

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()

请帮帮我:)

【问题讨论】:

    标签: python text plotly


    【解决方案1】:

    由于在包含标签的 html 中进行绘图读取,因此您可以将 \n 和中断标签 <br> 插入到要在显示时换行的 df 变量的文本中:

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

    【讨论】:

      【解决方案2】:

      根据the documentation,似乎字符串支持HTML标记。

      所以你可以在你的字符串中添加一些&lt;br&gt;标签来换行:

      label = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.<br>Sed eget arcu sit amet purus volutpat euismod sed id quam.
      

      【讨论】:

      • 有兴趣的我现在用:hovertext = df.varC.apply(lambda txt: '
        '.join(textwrap.wrap(txt, width=50)))跨度>
      猜你喜欢
      • 1970-01-01
      • 2011-01-04
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2023-01-05
      相关资源
      最近更新 更多