2016-12-06 86 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,它将如何工作? –