>>>>> "Enigma" == Enigma Curry <[EMAIL PROTECTED]> writes:
Enigma> pylab.xlim(0.5,6.5) should be: Enigma> pylab.xlim(min_x-(bar_width/2),max_x+(bar_width/2)) Glad it's working better for you -- just a couple more smallish hints. You might prefer to have your grid lines behind, rather than above the bars. In that case create the subplot or axes with the axisbelow=True kwarg. Despite the fact that you found the kwargs a little annoying at first, you will probably come to love them. matplotlib makes very heavy use of them and they are very useful since they allow matplotlib to usually do the right things while exposing most of the settings to you. Eg plot(x, y, linewidth=2, linestyle='--', marker='o', markerfacecolor='r', markeredgecolor='g' markeredgewith=2, markersize=10) and so on. There are lots of properties you can set on almost every command. Because noone wants to type all that, you can use aliases plot(x, y, lw=2, ls='--', marker='o', mfc='r', mec='g', mew=2, ms=10) Secondly, in your example, you are relying implicitly on matplotlib to pick integer ticks for the xaxis. It's doing it right in this example, but might prefer other tick locations for other examples depending on your x_values. So set xticks explicitly. Below is a slightly modified example showing these two ideas. You also might want to consider joining the mailing list at http://lists.sourceforge.net/mailman/listinfo/matplotlib-users since you appear to be a little finicky about your figures :-) def ryan_hist(data, bar_width, min_x, max_x): """ Create a frequency histogram over a continuous interval min_x = the low end of the interval max_x = the high end of the interval bar_width = the width of the bars This will correctly align the bars of the histogram to the grid lines of the plot """ #Make histogram with bars of width .9 and center #them on the integer values of the x-axis bins = pylab.nx.arange(1-(bar_width/2),max(data)) pylab.subplot(111, axisbelow=True) n,bins,patches = pylab.hist(data, bins, width=bar_width) #Make Y axis integers up to highest n pylab.yticks(pylab.arange(max(n))) pylab.xticks(pylab.arange(max(n)+1)) pylab.axis('scaled') pylab.xlim(min_x-(bar_width/2),max_x+(bar_width/2)) pylab.grid() pylab.show() -- http://mail.python.org/mailman/listinfo/python-list