在Plotly中的文本中换行

时间:2019-03-20 14:24:21

标签: python plotly

从其他有关此问题(尽管在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 个答案:

答案 0 :(得分:0)

我发现使用<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')