未能输入if语句

时间:2013-11-08 02:24:32

标签: python matplotlib

为什么没有任何内容被附加到cimag?我的数据显然有这个范围内的分数。

import numpy as np
import csv
import matplotlib.pyplot as plt
import random
from pylab import *
ci = []
mag =[]
cntr = 0
#fig = plt.scatter()
#ax1 = fig.add_subplot(111)
#ax2 = twiny()
import csv
with open('test2.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        try:
            if (float(row[0]) < 2.5) and (float(row[1]<15.0)) and (float(row[1]>-10.0)):
                ci.append(float(row[0]))
                mag.append(float(row[1]))
                cntr+=1
        except Exception, e:
            pass
print ci[1], mag[1]    

N = 50
x = ci
y = mag
area = .001
plt.scatter(x, y, s=area, alpha=0.25)
#plt.plot(x, y, ', ')
plt.xlabel('Color Index')
plt.ylabel('Magnitude')
plt.title('H-R Diagram')
plt.gca().invert_yaxis()
plt.show()

1 个答案:

答案 0 :(得分:3)

float(row[1]<15.0)

float(row[1]>-10.0)

看起来圆括号位于错误的位置。


如果row具有所有浮点值,则可以改为:

for row in reader:
    row = map(float, row)
    try:
        if (row[0] < 2.5) and (-10 < row[1] < 15.0):

或者,由于您只需要row中的前两个值,您可以使用

row = map(float, row[:2])