我试图用matplotlib的plotfile
函数绘制一些数据,即
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from matplotlib.pyplot import *
from numpy import *
x = arange(0,10,0.001)
y = sin(x)
savetxt("test.dat",column_stack((x,y)))
plotfile("test.dat",(0,))
show()
这给了我以下错误
ValueError: invalid literal for float(): 1.000000000000000021e-03 9.99999833333341681
使用genfromtxt()
函数可以很好地处理生成的数据,所以我看不到
为什么会出现错误。谢谢你的帮助。
答案 0 :(得分:1)
默认情况下,numpy.savetxt
使用单个空格作为列分隔符。
但是,matplotlib.pyplot.plotfile
的默认分隔符是逗号。
一种解决方法是在调用savetxt
时将逗号指定为列分隔符,例如:
import numpy as np
np.savetxt("test.dat", np.column_stack((x, y)), delimiter=',')