Python - 使用错误栏从数据文件中绘图?

时间:2016-07-13 02:11:32

标签: python matplotlib errorbar

我有一个有6列的数据文件(data.txt): 第1列和第4列是x和y数据,第2列和第3列是第1列的(不对称)误差条,第4列和第5列是第6列的(不对称)误差条:

100 0.77 1.22 3   0.11 0.55
125 0.28 1.29 8   0.15 0.53
150 0.43 1.11 14  0.10 0.44
175 0.33 1.01 22  0.18 0.49
200 0.84 1.33 34  0.11 0.48

我想绘制的内容。我知道我需要使用

import numpy as np
import matplotlib.pyplot as plt

plt.plotfile(......)

plt.show()

plotfile中括号之间的位置是我不确定如何将这些错误栏与列相关联的地方(以及我错过的任何其他内容)。

1 个答案:

答案 0 :(得分:1)

使用numpy.loadtxt完美无缺:

import numpy as np
import matplotlib.pyplot as plt

data = np.loadtxt("data.txt")
x = data[:, 0]
y = data[:, 3]
# errorbar expects array of shape 2xN and not Nx2 (N = len(x)) for xerr and yerr
xe = data[:, 1:3].T
ye= data[:, 4:].T

plt.errorbar(x, y, xerr=xe, yerr=ye, fmt=".-")

# if you want a log plot:
plt.xscale("log")
plt.yscale("log")

plt.show()