我正在尝试使用python绘制图。下面是导致错误的代码的简化版本。在import numpy as np
import matplotlib
import matplotlib.pyplot as plt
matplotlib.use("AGG")
distance = np.array('f')
depth = np.array('f')# make sure these two arrays store float type value
with open('Line671.txt','r') as datafile:
for line in datafile:
word_count = 0
for word in line.split():
word = float(word)#convert string type to float
if word_count == 0:
distance = np.append(distance, word)
elif word_count == 1:
depth = np.append(depth, word)
else:
print 'Error'
word_count += 1
datafile.closed
print depth
print distance #outputs looks correct
# original data is like this: -5.3458000e+00
# output of the array is :['f' '-5.3458' '-5.3463' ..., '-5.4902' '-5.4912' '-5.4926']
plt.plot(depth, distance)# here comes the problem
错误消息显示plt.绘图(深度,距离):值错误:无法将字符串转换为浮点:f
我不明白这一点,因为我似乎把所有的字符串值都转换成了float类型。我试图在stackoverflow上搜索这个问题,但是当他们把所有的字符串值都转换成float或int时,似乎都能解决这个问题。有人能就这个问题给出建议吗?我会非常感谢你的帮助。在