2016-12-06 100 views
-2

大家好!我需要在單個圖中使用matplotlib(不一定)從四個數組中繪製多條線。目前我的代碼是Matplot多行繪製蟒蛇

plt.plot(PTime,PReactions,NYTime,NYReactions,LTime,LReactions,SFTime,SFReactions) 
plt.show()  

PTime和PReactions是數組的名稱等等。
這是上面代碼的輸出:

This is the output of the above code

但我不希望這類型的圖表。我想要多行代表不同的數組(不同的數據)。
我想類似這樣的結果的東西:

I want results something similar to this

+0

Ususualy,您可以瀏覽[Matplotlib庫(HTTP ://matplotlib.org/gallery.html),找到一個例子,[有一個功能你螞蟻](http://matplotlib.org/examples/style_sheets/plot_fivethirtyeight.html#style-sheets-example-code-plot-fivethirtyeight-py),弄清楚他們是如何做到的,然後再適應。還有[Pyplot教程](http://matplotlib.org/users/pyplot_tutorial.html#pyplot-tutorial),當然[文檔](http://matplotlib.org/api/pyplot_api.html#matplotlib .pyplot.plot)本身。 – wwii

+0

你可以提供一個*最小*兩個向量的例子嗎? – wwii

+0

是否有可能,你只是強烈震盪的數據,因此,你有印象,它被繪製爲區域而不是線條?如果是這種情況,請嘗試大量放大,並且可能會識別單獨的行。 –

回答

0

你的數據在錯誤的順序。它必須是X, Y

plt.plot(PReactions, PTime) 
plt.plot(NYReactions, NYTime) 
plt.plot(LReactions, LTime) 
plt.plot(SFReactions, SFTime) 
plt.show() 
+0

上面的代碼工作得很好,但我不想要它正在生成的輸出。請看圖片 –

+0

啊我看到你的問題。你已經混合了X和Y值,我想 – languitar

+0

不,我沒有。 X和Y值根據邏輯。目前的結果是https://i.stack.imgur.com/BzmUx.png這個,我想要https://i.stack.imgur.com/B0Okw.png這個。你能幫我嗎? –

0

最小工作示例:

import matplotlib.pyplot as plt 
import numpy as np 

a=np.linspace(0, 1, 10) 
b=np.linspace(0, 2, 10) 
c=np.linspace(0, 3, 10) 
d=np.linspace(0, 4, 10) 

plt.plot(b,a) 
plt.plot(c,a) 
plt.plot(d,a) 

plt.show() 

爲您提供:

enter image description here

+0

可以請你建議它如何在大尺寸的陣列上工作?我的意思是我想從數組中生成線。就像如果我有一個「數組」,我會把它放在np.linespace中? –

+0

對不起,我不明白你的問題:(A,B,C,d是陣列,該函數返回np.linspace陣列。一個存儲x值和B,C,D存儲y值。目前,他們有長度爲10,但是你可以增加值 下面是一些Python教程,我強烈建議你這樣做: https://docs.python.org/3/tutorial/index.html –

+0

我有我自己的陣列。不需要使用np.linspace,它將如何工作? –