如何在matplotlib中使用plotfile?

2 投票
1 回答
1650 浏览
提问于 2025-04-17 16:49

我正在尝试用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()函数处理生成的数据时一切都很好,所以我不明白为什么会出现错误。谢谢你的帮助。

1 个回答

1

默认情况下,numpy.savetxt 使用一个空格来分隔列。

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

解决这个问题的一种方法是在调用 savetxt 时指定逗号作为列分隔符,比如:

import numpy as np 
np.savetxt("test.dat", np.column_stack((x, y)), delimiter=',')

撰写回答