我有一个名为J.txt的文件,其中包含3列数据,第三列是错误栏的值(对称),如下所示:
2454501.81752 0.0018087812 9.69699358080375E-005
2454537.77104 0.0030887732 0.0001610068
2454603.70872 0.0022500182 0.0001230047
2454640.56455 0.0013261298 7.57575739971879E-005
2454662.63581 0.0017888998 9.91743434734387E-005
我有以下代码:
import numpy as np
import matplotlib.pyplot as plt
plt.plotfile('J.txt', delimiter=' ', cols=(0, 1),
names=('V', 'V-B'), marker='o', markersize=2, markeredgewidth=0.1, markeredgecolor='black',
color= 'green', label= "Cluster", linestyle='None', newfig=False)
plt.show()
我一直试图将错误栏添加到情节中,因为我不知道如何将文件中的列与plt.errorbar
相关联(如果我应该这样做的话)正在使用)。
干杯。
答案 0 :(得分:1)
在Will和roadrunner66的建议之后,我挖掘出类似的解决方案:
import numpy as np
import matplotlib.pyplot as plt
col0 = np.genfromtxt('J.txt', usecols=(0), delimiter=' ', dtype=None)
col1 = np.genfromtxt('J.txt', usecols=(1), delimiter=' ', dtype=None)
col2 = np.genfromtxt('J.txt', usecols=(2), delimiter=' ', dtype=None)
fig, ax1 = plt.subplots()
ax1.plot(col0, col1, c='b', marker='o', markeredgewidth=0, linewidth=0, markersize=3)
ax1.errorbar(col0, col1, yerr=col2, linestyle=' ', c= 'b')
plt.show()
Numpy的np.genfromtxt
带来了我需要的数据,而matplotlib的ax1.errorbar
让我使用Y轴的yerr
值来设置误差线。