Search code examples
pythonplotmatplotlibscatter-plot

Superimpose scatter plots


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


Solution

  • 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