这是我的第一篇文章,我是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)的图形不同
有什么想法吗?
答案 0 :(得分:0)
看起来你的bluex正在附加i not t,使蓝色部分成为(y,y)图。红色和黑色部分看起来是正确的还是蓝色错误?