I've been generating bar charts that look like this:
Notice that the vertical spacing on the labels is uneven for some reason; I'm not sure if this has to do with how I have assigned the ticks or whatever mechanism is actually placing the text. Relevant code:
height_factor = 40.0
ind = np.linspace(0,len(sorted_totals)*height_factor,num=len(sorted_totals))
width = 0.25
fig = plt.figure(figsize=(15.5, 8.75),dpi=300)
p1 = plt.barh(ind,map(int,sorted_composite[:,0]),color='blue',align='center',height=height_factor)
p1 = plt.barh(ind,map(int,sorted_composite[:,2]),color=(0.75,0.1,0.1),align='center',height=height_factor)
plt.ylabel('# of Picks (blue) + # of Bans (red)')
plt.yticks(ind, sorted_totals[:,0])
plt.subplots_adjust(bottom=0.05, left=0.14,right=0.95,top=0.95)
plt.ylim([ind.min() - height_factor, ind.max() + height_factor])
My data is stored in sorted_composite and ind are the values I'm using to place the bars (the ytick locations). I'm using linspace to produce evenly spaced bars and this only kind of works and I'm not sure exactly why.