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.

plotly express el coloreado condicional no funciona correctamente.

Así que estoy tratando de aplicar colores condicionales a mi gráfico de línea para que los puntos de datos se coloreen de azul o rojo. Se trata de la potencia eléctrica producida en comparación con el consumo de energía (en mi marco de datos hay una columna EE>100% con ‘True’ y ‘False’ para cada hora del año que quiero utilizar para colorear mi gráfico).
Para los gráficos de dispersión funciona bien, pero cuando hago un gráfico de línea, se desordena todo:

gráfico de dispersión

gráfico de línea

Como puedes ver, la línea no puede hacer la transición correctamente / no sabe qué hacer entre dos puntos ‘False’.

Aquí está mi código para el gráfico de línea:

def drawEE_absolute():
    return html.Div([
        dbc.Card(
            dbc.CardBody([
                dcc.Graph(
                    figure=px.line(df, x='Datum', y='Erzeugung_Gesamt', color='EE>100%', template='plotly_dark'),
                    config={
                        'displayModeBar': True,
                        'toImageButtonOptions': {
                            'filename': 'custom_image',
                            'height': None,
                            'width': None,
                        }
                    }
                )
            ])
        ),
    ])

Espero que esto te haya ayudado.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para lograr un color condicional en un gráfico de línea en Plotly, podemos utilizar el parámetro line_color en lugar del parámetro color.

    Aquí está cómo podemos modificar el código:

    def drawEE_absolute():
        return html.Div([
            dbc.Card(
                dbc.CardBody([
                    dcc.Graph(
                        figure=px.line(df, x='Datum', y='Erzeugung_Gesamt', line_color='EE>100%', template='plotly_dark'),
                        config={
                            'displayModeBar': True,
                            'toImageButtonOptions': {
                                'filename': 'custom_image',
                                'height': None,
                                'width': None,
                            }
                        }
                    )
                ])
            ),
        ])
    

    Reemplazamos color='EE>100%' por line_color='EE>100%'. Esto debería resultar en un gráfico de línea con el color condicional deseado.

Comments are closed.