2

我正在尝试使用plotfilematplotlib的功能绘制一些数据,即

#!/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()函数可以完美地处理生成的数据,所以我不明白为什么会出现错误。感谢您的帮助。

4

1 回答 1

1

默认情况下numpy.savetxt,使用单个空格作为列分隔符。

但是,默认分隔符matplotlib.pyplot.plotfile是逗号。

一种解决方法是在对 的调用中指定一个逗号作为列分隔符savetxt,例如:

import numpy as np 
np.savetxt("test.dat", np.column_stack((x, y)), delimiter=',')
于 2013-02-22T23:46:12.310 回答