2011-12-09 44 views
7

Tôi có một loạt các điểm mà tôi đang cố gắng vẽ bằng cách sử dụng matplotlib. Đối với mỗi điểm (a, b) tôi muốn vẽ đường X = a cho Y trong [0, b]. Bất kỳ ý tưởng làm thế nào để làm điều này?Vẽ các đường từ trục x đến các điểm

Trả lời

9

Bạn chỉ vẽ từng dòng bằng hai điểm cuối. Một đường thẳng đứng X = a cho Y trong [0, b] có điểm cuối (x, y) = (a, 0) và (a, b). Vì vậy:

# make up some sample (a,b): format might be different to yours but you get the point. 
import matplotlib.pyplot as plt 
points = [ (1.,2.3), (2.,4.), (3.5,6.) ] # (a1,b1), (a2,b2), ... 

plt.hold(True) 
plt.xlim(0,4) # set up the plot limits 

for pt in points: 
    # plot (x,y) pairs. 
    # vertical line: 2 x,y pairs: (a,0) and (a,b) 
    plt.plot([pt[0],pt[0]], [0,pt[1]]) 

plt.show() 

Cung cấp cho một cái gì đó như sau: drawing vertical lines

1

Sử dụng một âm mưu stem

Giải pháp rườm rà nhất sử dụng matplotlib.pyplot.stem

import matplotlib.pyplot as plt 
x = [1. , 2., 3.5] 
y = [2.3, 4., 6.] 
plt.xlim(0,4) 
plt.stem(x,y) 
plt.show() 

enter image description here

Các vấn đề liên quan