2012-11-09 8 views
10

मैं सकारात्मक त्रुटि सलाखों और साजिश के भीतर अधिकतम मूल्य के साथ 4 औसत मूल्यों को साजिश करने की कोशिश कर रहा हूं।मैं pyplot.bar के साथ केवल सकारात्मक त्रुटि पट्टी कैसे प्लॉट करूं?

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)  

हालांकि मैं यह नहीं समझ सकता कि केवल सकारात्मक त्रुटि बार कैसे प्लॉट करें। तो मैं इस तरह एक ग्राफ के साथ अंत:

Average Age

कोई सुझाव बहुत सराहना की जाएगी।

उत्तर

11

अगर मैं सही ढंग से समझ में आ आप यह कर सकते हैं:

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() 

परिणाम:

enter image description here

यह काम करता है क्योंकि आप yerr के रूप में एक 2xN सूची पारित कर सकते हैं, सकारात्मक और नकारात्मक "ऑफसेट का प्रतिनिधित्व ", documentation देखें।

+0

बिल्कुल सही, धन्यवाद। –

संबंधित मुद्दे

 संबंधित मुद्दे