From: Gregory L. <gre...@ff...> - 2004-08-19 09:47:33
|
On Wed, 2004-08-18 at 21:45, Dominique Orban wrote: > Great, this is doing the job nicely, thanks ! I am not very clear as to > what the 'subs' argument really does. In your example: > > > #full control > > gca().set_xscale('log',base=100,subs=[10,20,50]) > > #Major tick every 16**i, minor tick every subs*16**i > > (16 should be 100 right?). oooouuuups, yes indeed, sorry! > There's a major tick at 100, 100^2, 100^3, > etc. And you're saying there are minor tick marks at 10*100*i ?!? hum, not really, minor tick every array([10,20,50])*100**i (I use array else python (and maybe some reader too familiar with python lists) may think I mean [10,20,50] concatenated 100**i with itself...that could be a very long list indeed ;-) )... So minor ticks at ...0.001,0.002,0.005,0.1,0.2,0.5,10,20,50,1000,2000,5000,... > What if you'd want tick labels [0, 1, 2, 3, 4, ...] instead of (in base > 2, say) [1, 2, 4, 8, 16, ...] ? > Is that easily done? I tried to obtain > it based on the example custom_ticker1.py (in the examples > subdirectory), but haven't been successful so far. You mean tick labels like a linear plot, but with log ticking? (and beware of 0, I doubt you will be able to see the 0 label in a log plot except if you do a *LOT* of paning ;-) ;-P ) If yes, this is not yet possible, because only "major" ticks (the one corresponding to base**i) are labeled, and what you want is labeling of all ticks...this would be feasible when I cleanup minor/major ticking for logscale, in the meantime I added a flag to logformatter to tell "label all ticks" instead of "label only major ticks". Then, to do what you want (or what I believe you want ;-) ), simply do gca().set_xscale('log',base=1000,label_minor=True). the base should be large enough so that your whole xrange is in it, and by default minor tick will be generated every unit. Be aware though that due to log spacing, last labels could be very close to each other and this ain't pretty ;-) That's why I allowed full control on minor ticks with subs, often you do want to carefully choose which ticks you want, because you can end up with a black mes of ticks and labels on the right of your graph if you don't... > Thanks A LOT for the update of axes.py and ticker.py, you're welcome, Greg. |