我目前正在尝试基于旧的跟踪创建新的跟踪,但我希望第二条跟踪不再显示图例。跟踪1的代码是:

import plotly.graph_objs as go

trace = go.Scatter(
    x=x,
    y=y,
    mode='lines',
    name='INC',
    line = dict(
        color = ('rgb(0,153,255)'),
        )
)


我如何创建trace2使其等于trace(除了包含showlegend=false之外)?本质上,我希望trace2为:

trace2 = go.Scatter(
        x=x,
        y=y,
        mode='lines',
        name='INC',
        showlegend=false,
        line = dict(
            color = ('rgb(0,153,255)'),
            )
    )


我必须进行多次跟踪。键入trace2=trace后,是否可以使用等效的快捷方式?谢谢

最佳答案

您可以使用方法copy()轻松实现此目的,并添加所需的密钥,如简单的dict所示:

trace = go.Scatter(
    x=x,
    y=y,
    mode='lines',
    name='INC',
    line = dict(
        color = ('rgb(0,153,255)'),
        )
)

trace2 = trace.copy()
trace2['showlegend']=False
print(trace)
print(trace2)

# >>>{'type': 'scatter', 'y': 3, 'mode': 'lines', 'x': 2, 'name': 'INC', 'line': {'color': 'rgb(0,153,255)'}}
# >>>{'showlegend': False, 'type': 'scatter', 'y': 3, 'mode': 'lines', 'x': 2, 'name': 'INC', 'line': {'color': 'rgb(0,153,255)'}}

07-24 18:13