Python - 绘制文本文件返回' ValueError:float()的无效文字:'

时间:2016-05-31 21:20:06

标签: python numpy text matplotlib

所以我有这个文本文件,我试图绘制。它有5列模拟数据,我试图将每列从2 - 5绘制到第1列。

ValueError: could not convert string to float:

返回 float:left

无论如何我可以解决这个问题吗?

谢谢

3 个答案:

答案 0 :(得分:3)

import matplotlib.pyplot as plt
import numpy as np

with open('SampleData.txt') as f:
    data = f.read()
data = data.split('\n')

x = [float(row.split(' ')[0]) for row in data]
y = [float(row.split(' ')[1]) for row in data]

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x,y)
ax.legend()
plt.show()

这似乎是一种类型强制问题。如果有帮助,请告诉我。

答案 1 :(得分:2)

您从文本文件中获取的数据类型为字符串。也就是说,在绘制它之前,首先需要将其转换为 float 类型。它可以通过 float()轻松完成。

x = [float(row.split(' ')[0]) for row in data]
y = [float(row.split(' ')[1]) for row in data]

确保输入数据的格式对于 float()是合法的。

对于ValueError: could not convert string to float:,它取决于您的文本文件。可能存在一些未格式化的数据,这些数据无法直接转换为 float 类型。

答案 2 :(得分:0)

在使用add_subplot

之前,尝试将您的拆分打印为整数