Python Plotly-다중 YAXIS 범례 레이아웃 [중복]
아래 코드를 사용하여 동일한 그림, 하나의 막대 차트 및 하나의 선 추세에 2 개의 중첩 된 그래프를 만들려고합니다.
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'}}}
결과적으로 왼쪽 y 축과 오른쪽 y 축에 대한 두 범례가 함께 혼합 된 위와 같은 것이 있습니다.
누구든지 내가 각각을 관련 측면에 놓을 수있는 방법을 알고 있습니까? 왼쪽의 왼쪽 y 축에 대한 범례와 오른쪽의 오른쪽 y 축에 대한 범례? 미리 감사드립니다!
답변
DerekO
불행히도 Plotly는 여러 범례를 지원하지 않습니다 . 이것은 공개 된 문제입니다.
현재 가지고있는 하나의 범례에서 왼쪽 범례 항목을 숨긴 다음 선 추세 변수 이름의 텍스트가있는 직사각형 주석 상자를 사용하여 처음부터 왼쪽 범례를 작성할 수 있습니다. 그러나이 경우 범례에는 실제로 토글 기능이 없으며 변수 이름을 표시하는 상자 역할 만합니다.