41.1 Express
Plotly también se parece a matplotlib en que no grafica por capas. Se define el idioma gráfico, los marcadores y los canales con todos sus atributos simultáneamente.
Tiene unos por defecto
Pero son personalizables:
fig4 = px.histogram(df, x="Fruta", y="Puntaje", color="Entrevistado",
title="Puntaje de las frutas",
width=600, height=600/1.61,
labels={ # reemplaza las etiquetas por defecto
"Entrevistado": "Nombre entrevistado", "Fruta": "Fruta seleccionada", "Puntaje": "Apreciación"},
category_orders={ # reemplaza el orden por defecto
"Fruta": ["Higo", "Kiwi", "Pitaya"], "Entrevistado": ["Jacinto", "Alex"]},
color_discrete_map={ # reemplaza el color por defecto
"Jacinto": "darkkhaki", "Alex": "deepskyblue"},)Otras personalizaciones se pueden realizar por medio de las familia de funciones fig.update_ y fig.add_:
fig4a = px.histogram(df, x="Fruta", y="Puntaje", color="Entrevistado",
title="Puntaje de las frutas",
width=600, height=600/1.61,
labels={ # reemplaza las etiquetas por defecto
"Entrevistado": "Nombre entrevistado", "Fruta": "Fruta seleccionada", "Puntaje": "Apreciación"},
category_orders={ # reemplaza el orden por defecto
"Fruta": ["Higo", "Kiwi", "Pitaya"], "Entrevistado": ["Jacinto", "Alex"]},
color_discrete_map={ # reemplaza el color por defecto
"Jacinto": "darkkhaki", "Alex": "deepskyblue"},).update_layout( # personaliza la fuente, y para la leyenda, la orientation y la posición.
font_family="Rockwell",
legend=dict(title=None, orientation="h", y=1, yanchor="bottom", x=0.5, xanchor="center"),
yaxis_title_text = 'Puntaje').add_shape( # añade un línea a voluntad, posiblemente indicativa.
type="line", line_color="salmon", line_width=3, opacity=1, line_dash="dot",
x0 = 0, x1 = 1, xref = "paper", y0 = 12, y1 = 12, yref = "y").add_annotation( # añade una anotación con un flecha.
text = "Por debajo de los esperado!", x = "Higo", y = 12, arrowhead = 1, showarrow = True)