我有一个有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中括号之间的位置是我不确定如何将这些错误栏与列相关联的地方(以及我错过的任何其他内容)。
答案 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()