|
From: Eric F. <ef...@ha...> - 2007-03-28 18:45:09
|
Suresh Pillai wrote: > The new matshow() seems to like ticks every 4 units (or multiples of 4 > for larger scales) rather than the normal, more desirable every 5 units. > > Compare: > > import pylab > matrix = pylab.rand(30,30) > pylab.matshow(matrix) > pylab.show() > > with > > import pylab > matrix = pylab.rand(30,30) > pylab.imshow(matrix) > pylab.show() > > Looking at the code right now, but since matshow() calls imshow(), it is > not obvious to me. I presume it has something to do with the line > > ax = fig.add_axes([0.15, 0.09, 0.775, 0.775]) No, this determines where in the figure window the axes will be located. > > in matshow(). Still learning the internals of mpl ... It is a question of the tick locator that is used. imshow is using the default MaxNLocator, which generally does a nice job but will sometimes put ticks on non-integer locations. Therefore, for matshow, I added a kwarg to guarantee use of integer locations. I should be able to tweak it so that its results differ from the default MaxNLocator only when the latter would produce non-integers. That was the intention. > > Also, as mentioned in a previous thread, the new matshow() is missing tick > marks on the lower x-axis. I thought I fixed that in svn, but it looks like I was foiled by a bug somewhere in axis.py. I'll have to track it down. To be continued... Eric > > Cheers, > Suresh |