Python Matplotlib 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.pl
Solution 1:
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()
Solution 2:
If you wish to continue using plot you can use the axis object returned by subplots:
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()
Solution 3:
Here's an other way:
X = np.linspace(0,5,100)
Y1 = X + 2*np.random.random(X.shape)
Y2 = X**2 + np.random.random(X.shape)
plt.plot(Y1, label = "Y1")
plt.plot(Y2, label = "Y2")
plt.tight_layout()
plt.xlabel("X")
plt.ylabel("Y")
plt.legend()
Post a Comment for "Python Matplotlib Superimpose Scatter Plots"