在通过一个程序写入并通过另一个程序绘制图形后,文本文件中的ValueError

时间:2015-05-27 10:38:20

标签: python python-2.7 matplotlib

所以,我有一个写入txt文件的程序

 global v,t

    v=random.randint(1,4)
    txt=open('bv.txt','a')
    txt.write(str(v)+","+str(t) +"\n")
    t+=1
    txt.close()
获得两个值后,我将这些值和图形通过另一个计划集成到我的主GUI中。

import matplotlib.pyplot as plt

def graph():

            x=[]
            y=[]

            readFile= open('bv.txt', 'r')

            sepFile = readFile.read().split('\n')

            readFile.close()

            for plotpair in sepFile:
                xAndY = plotpair.split(',')
                y.append((xAndY[0]))
                x.append(int(xAndY[1]))


            plt.plot(x, y)
            plt.show()

 graph()

因此,在执行此操作之后,它似乎相当明亮,但我收到错误,指出无法添加值。我最初使用random.uniform,但由于它有一个valueError,int无法转换基数为10的值,我最终尝试了random.randint,它给出了int值,但它给出了相同的错误。 我第一次在文本文件中添加了自己的valeus,但它有效,但在删除它们并通过我的程序插入值后,它似乎无法正常工作。 请为此提供您的意见。

1 个答案:

答案 0 :(得分:1)

如果您不介意使用numpynp.genfromtxt可以更简单地执行此操作:

import matplotlib.pyplot as plt
import numpy as np

def graph():
    x,y=np.genfromtxt('bv.txt',delimiter=',',unpack=True)
    plt.plot(x, y)
    plt.show()

graph()