使用Python matplotlib我想叠加散点图。我知道如何使用命令叠加连续直线图:
>>> plt.plot(seriesX) >>> plt.plot(Xresampl) >>> plt.show()
字符串但它似乎并不以同样的方式与散射。或者可以使用plot()和另一个参数指定线条样式。如何继续?谢了
ao218c7q1#
您只需调用scatter函数两次,matplotlib将为您叠加两个图。您可能需要指定一种颜色,因为所有散点图的默认颜色都是蓝色。这也许就是为什么你只看到一个情节。
scatter
matplotlib
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()
字符串
的数据
gj3fmq9x2#
如果你想继续使用plot,你可以使用subplot返回的axis对象:
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()
2eafrhcq3#
还有一种方法
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()
3条答案
按热度按时间ao218c7q1#
您只需调用
scatter
函数两次,matplotlib
将为您叠加两个图。您可能需要指定一种颜色,因为所有散点图的默认颜色都是蓝色。这也许就是为什么你只看到一个情节。字符串
的数据
gj3fmq9x2#
如果你想继续使用plot,你可以使用subplot返回的axis对象:
字符串
2eafrhcq3#
还有一种方法
字符串