Python Plotly - Nhiều bố cục YAXIS Legends [trùng lặp]

Jan 18 2021

Tôi đang cố gắng tạo 2 biểu đồ phủ trên cùng một hình, một biểu đồ thanh và một xu hướng đường với mã dưới đây:

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'}}}

Kết quả là, tôi có một cái gì đó giống như ở trên, nơi cả hai truyền thuyết cho yaxis trái và yaxis phải được trộn lẫn với nhau.

Có ai biết làm thế nào tôi có thể đặt mỗi cái về mặt có liên quan của nó không? Chú giải cho yaxis trái ở bên trái và chú giải cho yaxis phải ở bên phải? Cảm ơn trước !

Trả lời

DerekO Jan 18 2021 at 16:31

Thật không may, Plotly không hỗ trợ nhiều huyền thoại . Đây là một vấn đề mở.

Bạn có thể ẩn các mục chú giải bên trái khỏi một chú giải mà bạn có bây giờ, sau đó sử dụng hộp chú thích hình chữ nhật với văn bản của các tên biến xu hướng đường để tạo chú giải bên trái từ đầu. Tuy nhiên, chú giải sẽ không thực sự có bất kỳ chức năng chuyển đổi nào trong trường hợp đó và sẽ chỉ đóng vai trò như một hộp để hiển thị tên biến.