Python matplotlib superimpose scatter plots

kiriloff picture kiriloff · Jun 25, 2012 · Viewed 92.3k times · Source

I am using Python matplotlib. i want to superimpose scatter plots. I know how to superimpose continuous line plots with commands:

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

But it does not seem to work the same way with scatter. Or maybe using plot() with a further argument specifying line style. How to proceed? thanks

Answer

Hooked picture Hooked · Jun 25, 2012

You simply call the scatter function twice, matplotlib will superimpose the two plots for you. You might want to specify a color, as the default for all scatter plots is blue. This is perhaps why you were only seeing one plot.

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