2012-11-09 12 views
10

Pozitif hata çubukları ve arsa içindeki maksimum değer ile 4 ortalama değeri çizmeye çalışıyorum.Pyplot.bar ile sadece pozitif hata çubuğunu nasıl çizebilirim?

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)  

Ancak, yalnızca pozitif hata çubuklarının nasıl çizileceğini öğrenemiyorum. Yani böyle bir grafik ile sonuna kadar:

Average Age

Herhangi bir öneri büyük takdir. Eğer doğru anladıysam

cevap

11

bunu yapabilirsiniz:

import numpy as np 
from matplotlib import pyplot 

means = [26.82,26.4,61.17,61.55]   # Mean Data 
stds = [(0,0,0,0), [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') 
pyplot.bar(ind, means, width, color=colours, align='center', yerr=stds, 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) 
pyplot.show() 

Sonuç:

enter image description here

pozitif ve negatif "uzaklıklar temsil yerr olarak 2xN liste geçebilir çünkü çalışır "documentation'a bakın.

+0

Mükemmel, Teşekkür ederim. –

İlgili konular