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
|