Python matplotlib superimpose scatter plots Python matplotlib superimpose scatter plots python python

Python matplotlib superimpose scatter plots


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 npimport pylab as pltX = 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


If you wish to continue using plot you can use the axis object returned by subplots:

import numpy as npimport pylab as pltX = 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()