Python сюжетно legendgrouptitle_text не работает как аргумент go.Scatter

#python #plotly #legend #title

Вопрос:

Я пытаюсь использовать legendgrouptitle_text для установки заголовка legendgroup на python go.Scatter , как указано в документе plotly:

Но go.Scatter отказывается от этого в качестве аргумента и предлагает другой неподходящий аргумент :

     Did you mean "legendgroup"?

    Bad property path:

    legendgrouptitle_text
    ^^^^^^^^^^^^^^^^
 

Вот фрагмент кода того, как я пытаюсь его использовать

 traces.append(
    go.Scatter(
        x=X_1d,
        y=y_1d,
        name=', '.join(features_values),
        showlegend=True,
        line=dict(
            color=color,
            dash='solid',
            width=2,
        ),
        marker=dict(
            color=color,
            symbol='circle',
            size=marker_size,
        ),
        opacity=opacity,
        legendgroup='fixed_features',
        legendgrouptitle_text='['   ', '.join(legend_features)   ']',
    )
)
 

Заранее большое спасибо !

Ответ №1:

Для меня это была проблема с прямыми версиями. Это новая функция в plotly 5.1.0. Сбой при использовании 5.0.0 (также не забудьте перезагрузить ядро при использовании Jupyter после обновления)

 import numpy as np
import plotly.graph_objects as go

X_1d = np.linspace(0,5,20)
y_1d = np.random.uniform(5,10,20)
features_values =["hello","world"]
legend_features = ["foo","bar"]
color="red"
marker_size=3
opacity=.7

go.Figure(go.Scatter(
    x=X_1d,
    y=y_1d,
    name=", ".join(features_values),
    showlegend=True,
    line=dict(
        color=color,
        dash="solid",
        width=2,
    ),
    marker=dict(
        color=color,
        symbol="circle",
        size=marker_size,
    ),
    opacity=opacity,
    legendgroup="fixed_features",
    legendgrouptitle_text="["   ", ".join(legend_features)   "]",
))
 

Комментарии:

1. pip install plotly==5.1.0 сделал свое дело. Спасибо!

2. Спасибо за ссылку на версию!