es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Traducción: La marca de colores en los gráficos de Dash y Plotly parece no funcionar.

Este problema es extraño. No puedo entender qué está pasando en absoluto. Estoy trazando un gráfico de dispersión con colores definidos en dos categorías, pero cuando veo el gráfico, los colores no corresponden en absoluto con la selección de colores. He intentado recargar duro en Chrome, pero el problema persiste.

Por ejemplo, si paso el cursor sobre el punto que dice “Verde”, aparece como “Rojo”. No entiendo por qué debería ser así. Los datos son sensibles, por lo que no quiero compartir las capturas de pantalla que son desquiciantes.

Cuando miro la tabla en bruto que genero, aparece perfectamente bien.

df_result[“Color”] = np.where((df_result[“Lift”] < 0), ‘rojo’, ‘verde’)

Aquí está el código para trazar:

fig2d = px.scatter(df_result, x=”Lift”, y=”Lift2″, hover_data=[‘Line’], size=df_result[“S”].abs(), color=df_result[“Color”])

y el panel de control:

app.layout = html.Div(children=[
html.H1(children=”),

html.Div(children='''
    Explorando los datos.
'''),

dcc.Graph(
    id='j-2d',
    figure=fig2d
),

])

if name == ‘main‘:
app.run_server(debug=True)

Creo que el problema aquí es que quiero establecer el color de cada uno de mis puntos explícitamente como el color definido por el campo establecido en la columna llamada “Color”. Lamentablemente, no lo hace, de ahí la confusión, por lo que se utiliza un valor predeterminado. ¿Cómo puedo establecer el color de un punto explícitamente para cada fila según mis datos, sin permitir que plotly defina los colores por mí?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría deberse a la asignación automática de colores de plotly, que puede no estar asignando colores basados en tus categorías definidas. Para establecer el color de cada punto de forma explícita en base a la columna “Color” en tus datos, puedes intentar usar el argumento “color_discrete_map” en la función “px.scatter”:

    fig2d = px.scatter(df_result, x="Lift", y="Lift2", hover_data=['Line'], 
                        size=df_result["S"].abs(), color=df_result["Color"],
                        color_discrete_map={'red': 'red', 'green': 'green'})
    

    Esto asignará explícitamente los valores en la columna “Color” a los colores correspondientes, así puedes asegurarte de que tus categorías se representen correctamente en la gráfica.

Comments are closed.