如何将数据列标记为x和y

时间:2016-11-09 21:52:42

标签: python numpy matplotlib plot

我是编码的新手,我一直无法绘制一些导入的数据。我一直在使用:

import numpy as np
import matplotlib as plt

np.loadtxt('file_name')

我会收到类似的东西,但更长的时间,

array([[  2.45732966e+06,   9.97563892e-01],
   [  2.45732967e+06,   9.98023085e-01],
   [  2.45732967e+06,   1.02989578e+00],
   [  2.45732967e+06,   1.00883389e+00],
   [  2.45732967e+06,   1.00354891e+00]])

从这里我需要将第1列标记为X数据,将第二列标记为y,但我不确定如何格式化以适应语法并使用浮点数。

2 个答案:

答案 0 :(得分:2)

初始化matplotlib和绘图函数

import matplotlib
import matplotlib.pyplot as plt

将数据存储到数组中(假设它不是几个Gb数据)

array = np.loadtxt('file_name')

绘制它。 [:,0]可以像矩阵元素一样读取,其中:是所有值。所以这个'切片'数组中的第一个(从0开始计数!)列。在plt.plot()的调用中,您还可以通过向其添加更多参数来指定是否需要线,点,颜色,大小等。有大量的文档。

plt.plot(array[:,0], array[:,1])

更改plt以自定义绘图。以下行为您提供轴标签。你也可以做logscale等。

plt.xlabel('X')
plt.ylabel('Y')

显示情节。假设您在使用--pylab = inside

调用的ipython中工作
plt.show()

如果您想保存为pdf或其他内容(取自http://matplotlib.org/faq/howto_faq.html

from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('myfirstplot.pdf')
plt.savefig(pp, format='pdf')
pp.close()

答案 1 :(得分:0)

那样的东西?

import numpy as np
import matplotlib.pyplot as plt

a = np.array([[  2.45732966e+06,   9.97563892e-01],
   [  2.45732967e+06,   9.98023085e-01],
   [  2.45732967e+06,   1.02989578e+00],
   [  2.45732967e+06,   1.00883389e+00],
   [  2.45732967e+06,   1.00354891e+00]])

plt.plot(a[:,0],a[:,1])
plt.xlabel('x')
plt.ylabel('y')
plt.show()