我是编码的新手,我一直无法绘制一些导入的数据。我一直在使用:
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,但我不确定如何格式化以适应语法并使用浮点数。
答案 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()