我试图用正误差线和图中的最大值绘制4个平均值.
means = [26.82,26.4,61.17,61.55] # Mean Data
stds = [4.59,4.39,4.37,4.38] # Standard deviation Data
peakval = ['26.82','26.4','61.17','61.55'] # String array of means
ind = np.arange(len(means))
width = 0.35
colours = ['red','blue','green','yellow']
pyplot.figure()
pyplot.title('Average Age')
for i in range(len(means)):
pyplot.bar(ind[i],means[i],width,color=colours[i],align='center',yerr=stds[i],ecolor='k')
pyplot.ylabel('Age (years)')
pyplot.xticks(ind,('Young Male','Young Female','Elderly Male','Elderly Female'))
def autolabel(bars,peakval):
for ii,bar in enumerate(bars):
height = bars[ii]
pyplot.text(ind[ii], height-5, '%s'% (peakval[ii]), ha='center', va='bottom')
autolabel(means,peakval)
Run Code Online (Sandbox Code Playgroud)
但是我无法找出如何只绘制正误差条.所以我最终得到了这样一个图:
任何建议将不胜感激.
我正在尝试编写一个代码来进行双重求和(见图)
其中; M是主题,N是试验,Yijt是测量的波形数据(3d数组)
到目前为止我有; 给定Y是按Y排列的数据[主题,试验,时间]
# ranges:
I = len(Y)
J = len(Y[0])
Y_i_vals = 0
for i in range(M):
for j in range(N):
Y_i_vals = Y_i_vals +Y[i][j]
Yt = (1.0/(M*N)) * Y_i_vals
Run Code Online (Sandbox Code Playgroud)
这似乎不是最有效的方法,我也不确定它是否给出了正确的结果.