我正在尝试使用 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() 函数可以完美处理生成的数据,所以我看不到 为什么应该有错误。感谢您的帮助。
请您参考如下方法:
默认 numpy.savetxt使用单个空格作为列分隔符。
但是,matplotlib.pyplot.plotfile 的默认分隔符是一个逗号。
一种解决方法是在调用 savetxt 时指定一个逗号作为列分隔符,例如:
import numpy as np
np.savetxt("test.dat", np.column_stack((x, y)), delimiter=',')
