(x,y)Python中的图形,具有不同的颜色,具体取决于y值

时间:2014-05-16 15:50:47

标签: python matplotlib plot

这是我的第一篇文章,我是Python新手。 我有一个包含2列的.dat文件。我可以将它绘制好,但我希望使用与y值相关的颜色相同的图形。

由于这个原因,我正在扫描整个文件,读取y值,并根据y值将其附加在新列表上并将其相应的x参数添加到新列表中,然后绘制它们。

但是我没有得到相同的图表。

这是我的代码。

import numpy as np
import numpy.random
import matplotlib.pyplot as plt
Blackx=[]
Blacky=[]
Bluex=[]
Bluey=[]
Redx=[]
Redy=[]
x,y=np.loadtxt('input.dat',unpack=True)
for t,i in zip(x,y):
    if i<=16966:
       Blacky.append(i)
       Blackx.append(t)
    elif i>=16967 and i<=17180:
         Bluey.append(i)
         Bluex.append(i)
    else:
         Redx.append(t)
         Redy.append(i)

plt.plot(Blackx,Blacky,'black')
plt.plot(Bluex,Bluey,'b')
plt.plot(Redx,Redy,'r')
plt.show()

问题是我得到了一个有3种颜色的不同图形,但它与plt.plot(x,y)的图形不同

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

看起来你的bluex正在附加i not t,使蓝色部分成为(y,y)图。红色和黑色部分看起来是正确的还是蓝色错误?