2012-06-25 4 views
11

J'utilise Python matplotlib. je veux superposer des diagrammes de dispersion. Je sais comment superposer des tracés linéaires continues avec des commandes:Python matplotlib superposer des diagrammes de dispersion

>>> plt.plot(seriesX) 
>>> plt.plot(Xresampl) 
>>> plt.show() 

Mais il ne semble pas fonctionner de la même manière avec la dispersion. Ou peut-être en utilisant plot() avec un autre argument spécifiant le style de ligne. La façon de procéder? merci

Répondre

19

Vous appelez simplement la fonction scatter deux fois, matplotlib va superposer les deux graphiques pour vous. Vous pouvez spécifier une couleur, car la couleur par défaut pour tous les diagrammes de dispersion est le bleu. C'est peut-être pourquoi vous ne voyiez qu'un seul complot.

import numpy as np 
import pylab as plt 

X = np.linspace(0,5,100) 
Y1 = X + 2*np.random.random(X.shape) 
Y2 = X**2 + np.random.random(X.shape) 

plt.scatter(X,Y1,color='k') 
plt.scatter(X,Y2,color='g') 
plt.show() 

enter image description here

+1

De plus, en utilisant par exemple "alpha = 0.8" vous donnerait de la transparence – ntg

3

Si vous souhaitez continuer à utiliser parcelle, vous pouvez utiliser l'objet retourné par l'axe des intrigues secondaires:

import numpy as np 
import pylab as plt 

X = np.linspace(0,5,100) 
Y1 = X + 2*np.random.random(X.shape) 
Y2 = X**2 + np.random.random(X.shape) 

fig, ax = plt.subplots() 
ax.plot(X,Y1,'o') 
ax.plot(X,Y2,'x') 
plt.show() 
Questions connexes