首页 > 解决方案 > 在 plotly 中为多个子图提供共同的图例,单击时可以隔离所有具有共同图例的迹线

问题描述

我对情节很陌生(python)

我正在尝试绘制带有两个子图的图形,但是我得到了单独的图例。

我期待什么:

两个情节都有一个共同的传说。 当我悬停/单击图例时,我应该能够隔离痕迹(应该隔离所有常见的图例)

如果我单击 fig1 中的“legend”,则 fig2 中的“legend”也应该被隔离,因为它们共享共同的图例。

好心劝告。

import plotly as py
import plotly.graph_objs as go

trace0 = go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[1, 2, 3, 4, 5],
    xaxis='x1', yaxis='y1',
    name='legend'
)

trace1 = go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[5, 4, 3, 2, 1],
    xaxis='x2', yaxis='y2',
    name='legend'
)

data = [trace0, trace1]
layout = go.Layout(
    legend=dict(
        x=0,
        y=1,
        traceorder='normal',
        font=dict(
            family='sans-serif',
            size=12,
            color='#000'
        ),
        bgcolor='#E2E2E2',
        bordercolor='#FFFFFF',
        borderwidth=2
    ),
    annotations=[
        dict(
            x=0,
            y=1.05,
            xref='paper',
            yref='paper',
            text='Legend Title',
            showarrow=False
        )
    ]
)

layout = go.Layout(
                xaxis1=dict(
                    domain=[0, 0.45],
                   
                ),
                yaxis1=dict(
                    domain=[0.75, 1],
                    
                ),
                yaxis2=dict(
                    domain=[0.75, 1],
                    anchor="x2"
                ),
                xaxis2=dict(
                    domain=[0.55, 1],
                    showticklabels=False
                )

            )
fig = go.Figure(data=data, layout = layout)

iplot(fig)
```

标签: pythonplotlysubplot

解决方案


推荐阅读