用Plotly add_trace go.scatter for-loop在图例中只用唯一的轨迹名称填充。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Plotly add_trace go.scatter for-loop在图例中只用唯一的轨迹名称填充。相关的知识,希望对你有一定的参考价值。
我目前的代码使用for-loop来填充plotly线图,一般会添加数百个趋势。
fig.add_trace(go.Scatter(
x=x_axis_data,
y=y_axis_data,
mode='lines',
legendgroup="Data Group 1",
name='Data',
line=dict(
color='royalblue',
dash ='dot',
width=3.5,
)
),row=1,col=j)
一旦我所有的轨迹都被添加了,我就使用下面的方法(我知道这是默认设置)。
fig.update_layout(showlegend=True)
我的问题是,在图例中,我最终会给每条轨迹都加上一个图例标题,而我只想显示以下两种情况:
1)只显示唯一的轨迹名称(没有重复),或者2)图例组名称(每个图例只显示1次,而不是每个趋势都显示一次)。
有没有一种方法可以在不添加假痕迹等的情况下做到这一点?顺便说一下,我已经审查了以下资源。https:/plotly.pythonlegend. 如果我不使用for-loop用一个fig.add_trace函数填充多个痕迹,这将按原样工作,但我不能让它用for-loop填充图例做我想要的事情。谢谢。
答案
做到这一点的方法是说明是否要在你的跟踪中显示图例,无论你的条件是什么。
fig.add_trace(go.Scatter(
x=x_axis_data,
y=y_axis_data,
mode='lines',
showlegend=True if condition is True else False,
legendgroup="Data Group 1",
name='Data',
line=dict(
color='royalblue',
dash ='dot',
width=3.5,
)
),row=1,col=j)
在你的布局中是否显示图例是绝对的,而不是特定的轨迹。
以上是关于用Plotly add_trace go.scatter for-loop在图例中只用唯一的轨迹名称填充。的主要内容,如果未能解决你的问题,请参考以下文章