Python matplotlib superimpose scatter plots

天涯浪子 提交于 2019-11-30 07:50:24

问题


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


回答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()




回答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()


来源:https://stackoverflow.com/questions/11190735/python-matplotlib-superimpose-scatter-plots

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!