2017-03-06 38 views
1

我很難嘗試繪製一些數值,並用matplotlib(matplotlib新建)在兩個數據點之間創建線段。到目前爲止,我的代碼如下所示:創建兩個數值軸和繪製線段matplotlib

import matplotlib.pyplot as plt 

datax1=[0,0,0,0,0] 
datay1=[1,2,3,4,5] 

datax2=[1,1,1,1,1] 
datay2=[1,4,9,16,25] 

plt.plot(datax1, datay1) 
plt.plot(datax2, datay2) 

plot.show() 

但到目前爲止,我一直在創造我調整後想圖表不成功。我在想,如果有可能產生的圖形像這樣在matplotlib:

enter image description here

有點像一個「前後」樣圖的。所以你應該畫出一條從(0,5)即「之前」點到(1,25)這個「之後」點的線段。我嘗試使用plt.scatterplot,它繪製了點,但我不知道如何修復軸並在點之間畫線。

回答

2

你只需要建立更好的圖表。該地塊功能(X,Y),需要點x和y,然後將它們用線,例如,如果我寫plot([1, 3], [6, 8])情節線連接點(1, 6)(3, 8)

import matplotlib.pyplot as plt 

datax1=[0,0,0,0,0] 
datay1=[1,2,3,4,5] 

datax2=[1,1,1,1,1] 
datay2=[1,4,9,16,25] 

for i in range(len(datax1)): 
    x = (datax1[i], datax2[i]) 
    y = (datay1[i], datay2[i]) 
    plt.plot(x, y) 

plt.show() 

enter image description here

+0

哇哦!謝謝。你能解釋爲什麼我們需要重新排列數據嗎?我可能不瞭解matplotlib的基本原理。另外,我很好奇,但是如果可以在x軸上僅顯示0和1而不在兩者之間顯示值? –

+0

更新我的答案,如果這有助於您將其標記爲正確 – eyllanesc