2012-04-14 3 views
0

im offiziellen Beispiel haben wir bar Funktion wie diese verwenden:matplotlib bar Grundstück errbar

#!/usr/bin/env python 
# a stacked bar plot with errorbars 
import numpy as np 
import matplotlib.pyplot as plt 


N = 5 
menMeans = (20, 35, 30, 35, 27) 
womenMeans = (25, 32, 34, 20, 25) 
menStd  = (2, 3, 4, 1, 2) 
womenStd = (3, 5, 2, 3, 3) 
ind = np.arange(N) # the x locations for the groups 
width = 0.35  # the width of the bars: can also be len(x) sequence 

p1 = plt.bar(ind, menMeans, width, color='r', yerr=womenStd,align='center') 
p2 = plt.bar(ind, womenMeans, width, color='y',bottom=menMeans, yerr=menStd,align='center') 

plt.ylabel('Scores') 
plt.title('Scores by group and gender') 
plt.xticks(ind, ('G1', 'G2', 'G3', 'G4', 'G5')) 
plt.yticks(np.arange(0,81,10)) 
plt.legend((p1[0], p2[0]), ('Men', 'Women')) 

plt.show() 

Was ich nicht verstehe, ist, dass, , warum die womenStd als die yErr des menMeans verwendet wird, und Die MenStd wird als Frau verwendet.

Könnten Sie das bitte für mich erklären? Vielen Dank.

Antwort

1

Es könnte sehr plausibel ein Tippfehler sein. Es scheint für das Beispiel überhaupt nicht wichtig zu sein, welches existiert, um die Matplotlib-Funktionalität zu veranschaulichen.

1

Das muss ein Tippfehler in der Dokumentation sein, wie durch Ändern der Anzahl der Elemente in jeder Gruppe demonstriert werden kann. Entfernen Sie beispielsweise das letzte Element aus jeder der Variablen women und erstellen Sie eine neue ind2 = np.arange(N-1), und führen Sie den Code erneut aus. Sie erhalten eine Stack-Trace, die mir anzeigt, dass Ihre Intuition korrekt war und dass Sie die ähnlich benannten Variablen verwenden sollten. Natürlich ist das gegebene Beispiel nur zur Illustration, aber sollte wahrscheinlich geändert werden, um klarer zu sein.