Python matplotlib叠加散点图

kir*_*off 23 python plot matplotlib scatter-plot

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

>>> plt.plot(seriesX)
>>> plt.plot(Xresampl)
>>> plt.show()
Run Code Online (Sandbox Code Playgroud)

但它似乎与散射的工作方式不同.或者可以使用plot()和另一个指定线条样式的参数.如何进行?谢谢

Hoo*_*ked 36

您只需调用该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()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 此外,使用例如“ alpha = 0.8”将为您提供透明度 (2认同)

小智 6

如果您希望继续使用绘图,可以使用子绘图返回的轴对象:

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()
Run Code Online (Sandbox Code Playgroud)