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 hace un histograma de colores continuos basado en la columna “cuenta de”?

He creado un histograma que muestra la cantidad de días más calurosos que 35°C por década (“Jahrzehnt” en alemán). Me gustaría colorearlo en base a la cantidad de días calurosos (aquí la columna “Temperatur, Maximum”), sin embargo, como puedes ver en la imagen, la década más caliente (2010) obtuvo un color más desvanecido aunque quiero que sea rojo oscuro.

Mi código es:

    fig = px.histogram(grouper, x='Jahrzehnt', y='Temperatur, Maximum', color='Temperatur, Maximum', \
        color_discrete_sequence=px.colors.sequential.Reds,
        title='Tage über 35° Celsius ("Wüstentage")',
        hover_data=dict(Jahrzehnt=False)
        )
    fig.update_layout(showlegend=False)
    fig.update_yaxes(title='Anzahl')

¿Cómo puedo cambiar la secuencia de colores discretos para que coincida con los valores más bajos y más altos con rojos más desvanecidos a rojos más saturados?

Gracias por cualquier pista.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para cambiar la escala de color del histograma en plotly, puedes utilizar el parámetro color_continuous_scale en lugar de color_discrete_sequence. En este caso, podrías utilizar la escala de color Reds, pero con el parámetro adicional reversescale=True para obtener el color más oscuro para los valores más altos. También puedes ajustar el rango de la escala de color utilizando el parámetro range_color, de manera que los valores mínimo y máximo de la columna de temperatura se mapeen a los colores más oscuros y más claros, respectivamente. Aquí tienes un ejemplo de código:

    fig = px.histogram(grouper, x='Jahrzehnt', y='Temperatur, Maximum', \
        color='Temperatur, Maximum', \
        color_continuous_scale=px.colors.sequential.Reds, \
        range_color=(grouper['Temperatur, Maximum'].min(), grouper['Temperatur, Maximum'].max()), \
        reversescale=True, \
        title='Tage über 35° Celsius ("Wüstentage")', \
        hover_data=dict(Jahrzehnt=False))
    
    fig.update_layout(showlegend=False)
    fig.update_yaxes(title='Anzahl')
    

    Con estas modificaciones, deberías obtener un histograma con una escala de color que va desde el rojo claro hasta el rojo oscuro, siendo el color más oscuro el que representa las décadas más calurosas.

Comments are closed.