2010-02-22 66 views
45

我有一組簡單的繪圖,連接每組的點和線。我希望將點繪製在線條的頂部(以便線條不顯示在點內)。不管plotscatter調用的順序如何,這個圖都是一樣的,而不是我想要的。有沒有簡單的方法來做到這一點?如何繪製matplotlib中的第一行和最後一個點

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

回答

相關問題