matplotlib 叠加散点图

7vhp5slm  于 2023-08-06  发布在  其他
关注(0)|答案(3)|浏览(89)

使用Python matplotlib我想叠加散点图。我知道如何使用命令叠加连续直线图:

>>> plt.plot(seriesX)
>>> plt.plot(Xresampl)
>>> plt.show()

字符串
但它似乎并不以同样的方式与散射。或者可以使用plot()和另一个参数指定线条样式。如何继续?谢了

ao218c7q

ao218c7q1#

您只需调用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()

字符串


的数据

gj3fmq9x

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

字符串

2eafrhcq

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

字符串

相关问题