2017-07-20 3 views
0

J'ai deux parcelles de densité, l'une au-dessus de l'autre. Comment puis-je remplir la zone sous les courbes avec 2 couleurs différentes et également ajouter une certaine transparence de sorte que la zone de chevauchement est perceptible.Remplir les parcelles de densité avec la couleur en python

import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
import sys 
import seaborn as sns 

x=[1,1,1,1,1,1,1,0,0,0,0,0,0,0] 
y=[1,1,1,0,2,0,0,0,1,1,0,1,0,1] 
sns.distplot(x, hist=False,color="green") 
sns.distplot(y, hist=False,color="blue") 

enter image description here

Répondre

3

Avez-vous essayé sns.kdeplot(x, hist=False, color="green", shade=True)? Apparemment, ils créent la même courbe. D'après ce que je peux dire, il est transparent par défaut, ce qui devrait répondre à vos besoins.

import matplotlib.pyplot as plt 
import seaborn as sns 

x=[1,1,1,1,1,1,1,0,0,0,0,0,0,0] 
y=[1,1,1,0,2,0,0,0,1,1,0,1,0,1] 
sns.kdeplot(x, color="green", shade=True) 
sns.kdeplot(y, color="blue", shade=True) 
plt.show() 

seaborn documentation

Voici le graphe résultant:

Graph result

+1

il n'y a aucun paramètre de l'ombre dans distplot –

+0

« _Nous peut voir que si nous utilisons la fonction kdeplot() dans Seaborn, nous obtenons la même courbe Cette fonction est utilisée par distplot(), mais elle fournit une interface plus directe avec un accès plus facile aux autres options lorsque vous voulez juste l'estimation de la densité: _ "- Du lien de documentation de Seaborn ci-dessus. Fondamentalement, utilisez 'kdeplot()' pour voir si vous obtenez la même courbe. – Eqomatic

+0

pouvez-vous s'il vous plaît partager le code? –