From: Fred Ludlow <rfl26@ca...>  20070825 10:37:31

So, if I understand correctly, this is a cosmetic issue: If you let it sort out its own scale, it looks a bit ugly when there are a small number of data points? And using a fixed rescale of 010 isn't too great either 'cause they're all together at one side of the image... (or off the edge of it if there are more than 10 points) With the normal caveat that my suggestion is unlikely to the best way of doing it, how about: If there are less than some number of datapoints, say 5, move the datapoints to higher x and rescale the axis, if there are more than 5, let matplotlib handle everything automatically: ind = arange(N, dtype=float) # the x locations for the groups if N < 5.0: ind += (5.0N)/2.0 # Slide the x points up # draw the bars here if N < 5: xlim(0, 5) # Rescale If you do this I think (but I haven't checked) you'll also need to change: for i in xrange(N): text(i, 0, " %s" etc...) to: for i in ind: text(i, 0, etc...) in order to keep the text lined up right. Hope that helps, Fred Alen Ribic wrote: > Thanks again Fred. Its looking much better now. However, one last > related thing, the x axis plots are not centered in the middle. Now > they are left aligned. For example, If there are only 1 or 2 plots on > the x axis, they get displayed from the 0, origin point, the immediate > left of the graph. How do I, if possible, have the x plots centered in > the middle of the graph? > > I just saw an example that seems to have the x plots centered. Here is > the link to it. > http://matplotlib.sourceforge.net/screenshots.html > > Its the table_demo.py example. > > I have also attached the code if you don't mind having a quick look. > > Much appreciated, > Alen > > > On 8/24/07, Fred Ludlow <rfl26@...> wrote: >> Alen Ribic wrote: >>> Thanks Fred. >>> >>> Thant did the trick. However now, when I have many plots on x axis, >>> the last few plot shoot of the end of the x axis. It seems to start >>> the plotting the middle move to the right. Do I just have to adjust >>> the xlim on the axes[0]? I fiddled with the "align" parameter, set it >>> to "center", on the bar function and it didn't do much. >>> >>> Alen >> Hi Alen, >> >> The align parameter sets whether the left, or the center of the bar >> should be aligned with the xvalue you give for that bar. So the right >> hand edge of the bar would be at x+width (or x + (width/2) for center), >> and you'd need to set x_lim to include this. If I've misunderstood your >> problem can you post the code that's causing trouble? >> >> >> Cheers, >> >> Fred >> >> ps. >> gca() also gets the current axes object, which is marginally less typing >> than what I said before, so you can use: >> >> gca().set_xlim([0.0, 10.0]) >> draw() >> >> to rescale the xaxis on the last thing you plotted to 0.010.0. >> >>  >> This SF.net email is sponsored by: Splunk Inc. >> Still grepping through log files to find problems? Stop. >> Now Search log events and configuration files using AJAX and a browser. >> Download your FREE copy of Splunk now >> http://get.splunk.com/ >> _______________________________________________ >> Matplotlibusers mailing list >> Matplotlibusers@... >> https://lists.sourceforge.net/lists/listinfo/matplotlibusers >> 