Avec matplotlib, je peux faire un histogramme avec deux jeux de données sur un tracé (l'un à côté de l'autre, pas en superposition).
import matplotlib.pyplot as plt
import random
x = [random.randrange(100) for i in range(100)]
y = [random.randrange(100) for i in range(100)]
plt.hist([x, y])
plt.show()
Cela donne le graphique suivant.
Cependant, lorsque j'essaie de le faire avec du seabron;
import seaborn as sns
sns.distplot([x, y])
J'obtiens l'erreur suivante:
ValueError: color kwarg must have one color per dataset
Alors j'essaie d'ajouter des valeurs de couleur:
sns.distplot([x, y], color=['r', 'b'])
Et je reçois la même erreur. J'ai vu ce post sur la façon de superposer des graphiques, mais je voudrais que ces histogrammes soient côte à côte, pas superposés.
Et en regardant le docs il ne spécifie pas comment inclure une liste de listes comme premier argument 'a'.
Comment puis-je obtenir ce style d'histogramme en utilisant Seaborn?
Si je vous comprends bien, vous voudrez peut-être essayer quelque chose comme ceci:
fig, ax = plt.subplots()
for a in [x, y]:
sns.distplot(a, bins=range(1, 110, 10), ax=ax, kde=False)
ax.set_xlim([0, 100])
Ce qui devrait donner un tracé comme celui-ci:
[~ # ~] mise à jour [~ # ~] :
Il semble que vous souhaitiez un "aspect marin" plutôt qu'une fonctionnalité de tracé marin. Pour cela, il vous suffit de:
import seaborn as sns
plt.hist([x, y], color=['r','b'], alpha=0.5)
Ce qui produira: