Python Plotly - Layout mehrerer YAXIS-Legenden [Duplikat]
Ich versuche, zwei überlagerte Diagramme mit derselben Figur, einem Balkendiagramm und einem Linientrend mit dem folgenden Code zu erstellen:
data = []
for __brand in df_cumsum['brand'].unique():
data.append(go.Scatter(
x=df_cumsum.loc[df_cumsum['brand'] == __brand, :]['day'],
y=df_cumsum.loc[df_cumsum['brand'] == __brand, :]['ecpm_cum'],
name=__brand,
yaxis='y1'
))
data.append(go.Bar(
x=df_cumsum.loc[df_cumsum['brand'] == __brand, :]['day'],
y=df_cumsum.loc[df_cumsum['brand'] == __brand, :]['impressions_cum'],
name=__brand,
yaxis='y2',
opacity=0.3
))
figure = {'data': data,
'layout': {'title': 'Delivery Performance Over Test Period (Days)',
'yaxis': {'title': 'Cumulative eCPM (USD)'},
'yaxis2': {'title': 'Cumulative Delivery (Impressions)', 'side': 'right', 'overlaying': 'y'}}}
Als Ergebnis habe ich so etwas wie das Obige, wo beide Legenden für die linke Yaxis und die rechte Yaxis miteinander vermischt sind.
Weiß jemand, wie ich jeden auf seine relevante Seite stellen kann? Legende für linke Yaxis links und Legende für rechte Yaxis rechts? Danke im Voraus !
Antworten
Leider unterstützt Plotly nicht mehrere Legenden . Dies ist ein offenes Thema.
Sie können die Elemente der linken Legende vor der einen Legende verbergen, die Sie jetzt haben, und dann ein rechteckiges Anmerkungsfeld mit dem Text der Namen der Linientrendvariablen verwenden, um die linke Legende von Grund auf neu zu erstellen. In diesem Fall verfügt die Legende jedoch nicht über eine Umschaltfunktion und dient nur als Feld zum Anzeigen von Variablennamen.