为什么我的图表空白且数字不正确

时间:2015-01-08 14:38:23

标签: python matplotlib

当你运行它时,它会创建一个从100到200的表,步长为20,并计算所用的时间。我想要一个显示这两者之间关系的图表,但是当我运行它时,图表是空白的,x和y图表编号不正确。 (即在y轴上,我想要速度(100 - 200)

import pylab

print "Speed (mph) | Time Taken (s)"
print "==========================="

for i in range(100,201,20):
    Speed = i
    Lowest_Speed = pylab.array( [0.0,100.0,30.0],float)
    Distance_Travelled = pylab.array([20000.0,20000.0,10000.0],float)
    Average_Speed = (Speed + Lowest_Speed)/2.0
    t= Distance_Travelled/Average_Speed
    time_taken=t[0]+t[1]+t[2]


print "%5d"%Speed,"%12.3f"%time_taken

pylab.title  ("Speed vs Time Taken")
pylab.xlabel ("Time Taken (s)")
pylab.ylabel ("Speed (mph)")
pylab.plot ([time_taken] ,[Speed] , 'r-')
pylab.show ()

我希望200以20的步长降至100,我希望420转到753(请在计算中显示)。所以,负相关

1 个答案:

答案 0 :(得分:2)

您似乎只是在绘制循环中分配给Speedtime_taken的最后一个值。相反,您可能必须将所有这些值添加到列表并绘制这些列表:

...
all_speeds = []
all_times = []
for i in range(100, 201, 20):
    ...
    all_speeds.append(Speed)
    all_times.append(time_taken)

...
pylab.plot(all_times, all_speeds, 'r-')
pylab.show()