在Plotly中如何在文本中换行

11

从其他关于此问题的问题(在R中)中,我了解到你应该能够在Plotly的某些文本元素中使用HTML。但是,如果我尝试这样做以在我的图中添加一行新文本,它将仅显示HTML标签作为文本,而不是“解析”它。

我还尝试添加'\n',但那只是被忽略了。

我正在使用跟踪的代码:

trace = go.Scattergl(
    x=[0.5],
    y=[4.5],
    text=['A: {} <br> B: {}\nC: {}\nD: {}'.format(a, b, c, d)],
    mode='text'
    )

除此之外,我正在使用“标准”的代码来生成图表;

traces = [trace]
layout = {
    'xaxis':{
        'range':[0,7],
        'showgrid': False,
    },
    'yaxis':{
        'range':[0,7],
        'showgrid': False,
    },
}
fig = dict(data=traces, layout=layout)
plot(fig)

在这种情况下,我该如何添加新的一行?

1个回答

14

我发现在悬停文本中使用<br>是有效的,但在直接放置在图形上的文本中不起作用。 对于我的用例来说已经足够好了,也许它也能帮到你? 这是一个类似于你在问题中提供的示例,演示了区别。 在悬停文本和注释中使用的字符串相同,但换行符仅在悬停文本中被识别。

import plotly.graph_objects as go

a = 1
b = 2
c = 3
d = 4

trace = go.Scattergl(
    x=[0.5],
    y=[4.5],
    text=f'A: {a} <br> B: {b}\nC: {c}\nD: {d}',
    hoverinfo='text',
    mode='markers+text'
    )

traces = [trace]
layout = {
    'xaxis':{
        'range':[0,7],
        'showgrid': False,
    },
    'yaxis':{
        'range':[0,7],
        'showgrid': False,
    },
}
fig = go.Figure(data=traces, layout=layout)
fig.show(renderer='browser')

6
现在对于文本列对我而言可以工作了。 - Max Ghenis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接