2016-07-03 27 views
1

私のデータセットの各点から垂直軸に垂直線をプロットしたいと思います。現時点でプロットは次のようになります。Pythonでデータポイントから垂直軸に垂直線をプロット

values = [0.0, 0.2, 0.0, 0.4, 1.4, 0.5] 
times = [1, 4, 10, 12, 14, 20] 
plt.plot(values,times,'o') 
plt.show() 

縦線をプロットするにはどうすればいいですか?しかし私は、グラフ全体を通じて垂直線を行いドキュメントaxvline、中に発見し、私はそれを望んでいない:

xcoords = [0.22058956, 0.33088437, 2.20589566] 
for xc in xcoords: 
    plt.axvline(x=xc) 

答えて

2

あなたはplt.plot(c1, c2)を使用してc2 = [x2, y2]c1 = [x1, y1]から任意の行をプロットすることができます。だから、あなただけの

xcoords = [0.22058956, 0.33088437, 2.20589566] 
for xc in xcoords: 
    plt.plot([xc, 0], [xc, Y-VALUE]) 
2

axvlineを行うことができ、これらの線をプロットするVLINEが続くべきまでyrangeのの割合を調整のparamater ymaxを持っています。 Y軸はタイト場合には、溶液は次のようであり得る:

for i in range(len(times)): 
    plt.axvline(values[i], ymax=float(times[i])/max(times), color='b') 
0

stemプロットを使用

は最も厄介な解決策は、matplotlib.pyplot.stem

import matplotlib.pyplot as plt 
values = [0.0, 0.2, 0.0, 0.4, 1.4, 0.5] 
times = [1, 4, 10, 12, 14, 20] 
plt.stem(times,values) 
plt.show() 

enter image description here

採用します