如何在matplotlib中先绘制线条,再绘制点。
- 论坛
- 如何在matplotlib中先绘制线条,再绘制点。
23 浏览
如何在matplotlib中先绘制线条,再绘制点。
我有一个简单的图表,其中包含几组点和连接每组点的线。我希望点被绘制在线的上方(这样线就不会显示在点的内部)。无论调用的顺序是plot
和scatter
,这个图表都会以相同的方式显示,并不是我想要的。有没有简单的方法可以实现这个效果?
import math import matplotlib.pyplot as plt def poisson(m): def f(k): e = math.e**(-m) f = math.factorial(k) g = m**k return g*e/f return f R = range(20) L = list() means = (1,4,10) for m in means: f = poisson(m) L.append([f(k) for k in R]) colors = ['r','b','purple'] for c,P in zip(colors,L): plt.plot(R,P,color='0.2',lw=1.5) plt.scatter(R,P,s=150,color=c) ax = plt.axes() ax.set_xlim(-0.5,20) ax.set_ylim(-0.01,0.4) plt.savefig('example.png')