I want to plot multiple data sets on the same scatter plot:
cases = scatter(x[:4], y[:4], s=10, c='b', marker="s") controls = scatter(x[4:], y[4:], s=10, c='r', marker="o") show()
The above only shows the most recent scatter()
I've also tried:
plt = subplot(111) plt.scatter(x[:4], y[:4], s=10, c='b', marker="s") plt.scatter(x[4:], y[4:], s=10, c='r', marker="o") show()
Multiple scatter plots can be graphed on the same plot using different x and y-axis data calling the function Matplotlib.pyplot.scatter() multiple times. Importing the required module. x1,y1, and x2,y2 are the list of the data to visualize different scatter plots on the same graph.
You need a reference to an Axes
object to keep drawing on the same subplot.
import matplotlib.pyplot as plt x = range(100) y = range(100,200) fig = plt.figure() ax1 = fig.add_subplot(111) ax1.scatter(x[:4], y[:4], s=10, c='b', marker="s", label='first') ax1.scatter(x[40:],y[40:], s=10, c='r', marker="o", label='second') plt.legend(loc='upper left'); plt.show()
I came across this question as I had exact same problem. Although accepted answer works good but with matplotlib version 2.1.0
, it is pretty straight forward to have two scatter plots in one plot without using a reference to Axes
import matplotlib.pyplot as plt plt.scatter(x,y, c='b', marker='x', label='1') plt.scatter(x, y, c='r', marker='s', label='-1') plt.legend(loc='upper left') plt.show()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With