Python matplotlib 叠加散点图
Posted
技术标签:
【中文标题】Python matplotlib 叠加散点图【英文标题】:Python matplotlib superimpose scatter plots 【发布时间】:2012-06-26 18:59:16 【问题描述】:我正在使用 Python matplotlib。我想叠加散点图。我知道如何用命令叠加连续线图:
>>> plt.plot(seriesX)
>>> plt.plot(Xresampl)
>>> plt.show()
但它似乎与 scatter 的工作方式不同。或者也许使用带有指定线条样式的进一步参数的 plot() 。如何进行? 谢谢
【问题讨论】:
【参考方案1】:如果您希望继续使用绘图,您可以使用子绘图返回的轴对象:
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()
【讨论】:
【参考方案2】:您只需调用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()
【讨论】:
进一步,使用例如“alpha=0.8”会给你透明度以上是关于Python matplotlib 叠加散点图的主要内容,如果未能解决你的问题,请参考以下文章
转录组scatter plot 散点图和ma plot有啥区别
Python使用matplotlib模块绘制多条折线图散点图