Brenda, miembro de nuestro equipo, nos hizo el favor de redactar esta sección ya que controla perfectamente el tema.
Solución:
La otra respuesta es un poco hacky. Entonces, una solución más estricta, sin producir gráficos que se eliminen después, implicaría la creación manual de un ScalarMappable como entrada para la barra de colores.
import matplotlib.pyplot as plt
import seaborn as sns
titanic = sns.load_dataset("titanic")
g = titanic.groupby('pclass')
survival_rates = g['survived'].mean()
n = g.size()
norm = plt.Normalize(survival_rates.min(), survival_rates.max())
sm = plt.cm.ScalarMappable(cmap="Reds", norm=norm)
sm.set_array([])
ax = sns.barplot(x=n.index, y=n, hue=survival_rates, palette='Reds',
dodge=False)
ax.set_ylabel('n passengers')
ax.get_legend().remove()
ax.figure.colorbar(sm)
plt.show()
Puedes probar esto:
import matplotlib.pyplot as plt
import seaborn as sns
titanic = sns.load_dataset("titanic")
g = titanic.groupby('pclass')
survival_rates = g['survived'].mean()
n = g.size()
plot = plt.scatter(n.index, n, c=survival_rates, cmap='Reds')
plt.clf()
plt.colorbar(plot)
ax = sns.barplot(x=n.index, y=n, hue=survival_rates, palette='Reds', dodge=False)
ax.set_ylabel('n passengers')
ax.legend_.remove()
Producción:
Comentarios y puntuaciones del post
Recuerda algo, que tienes autorización de esclarecer tu experiencia si diste con el arreglo.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)