Как разместить легенды внутри сюжета в Plotly - PullRequest
0 голосов
/ 08 февраля 2020

Я получил этот код со страницы Plotly. Мне нужно сделать фон прозрачным, а ось выделена. А также легенды, расположенные внутри сюжета.

import plotly.graph_objects as go

fig = go.Figure()

fig.add_trace(go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[1, 2, 3, 4, 5],
    name="Increasing"
))

fig.add_trace(go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[5, 4, 3, 2, 1],
    name="Decreasing"
))

fig.update_layout(legend_title='<b> Trend </b>')
fig.show()

Код выше показывает вывод ниже:

enter image description here

Мой ожидаемый результат :

enter image description here

Как я могу преобразовать первое изображение, чтобы получить характеристики второго изображения?

1 Ответ

1 голос
/ 08 февраля 2020

Чтобы изменить цвет фона, вам нужно указать его plot_bgcolor='rgba(0,0,0,0)',, в то время как для перемещения легенды внутри графика слева вам нужно явно определить положение:

import plotly.graph_objects as go

trace0 =  go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[1, 2, 3, 4, 5],
    name="Increasing"
)

trace1 = go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[5, 4, 3, 2, 1],
    name="Decreasing"
)

data = [trace0, trace1]
layout = go.Layout(
        plot_bgcolor='rgba(0,0,0,0)',
    legend=dict(
        x=0,
        y=0.7,
        traceorder='normal',
        font=dict(
            size=12,),
    ),
    annotations=[
        dict(
            x=0,
            y=0.75,
            xref='paper',
            yref='paper',
            text='Trend',
            showarrow=False
        )
    ]
)
fig = go.Figure(data = data,
                layout = layout)

fig.update_xaxes(showgrid=True, gridwidth=1, gridcolor='LightGray')
fig.update_yaxes(showgrid=True, gridwidth=1, gridcolor='LightGray')

fig.show()

, и вы получите :

enter image description here

...