Thanks.  Suspected as much re integer vs float.

Which brings me to the question: if we are able to debug issues ourselves, 
should we just post to this list or the devel list or contribute privately.

Thanks,
Suresh

On Mon, 2 Apr 2007, Eric Firing wrote:

>  I see where the problem (or at least one problem) is, and I will try to  get
>  it fixed by tomorrow.  In the meantime, I think you will get the results you
>  want by simply converting your arrays to floating point:
>
>  matshow(matrix.astype(float), ...)
>
>  Eric
>
>  Suresh Pillai wrote:
> >   So I been using the log scale provided by matplotlib.colors.LogNorm, but
> >   have been seing bizarre behaviour.  Basically, high values are not
> >   displayed properly.  I give simple examples below with just two possible
> >   values in the matrix, but all the same issues arise with more varied
> >   values.
> > 
> >   First notice that the high value (100000) is displayed as being of
> >   value=1:
> > 
> >   from pylab import *
> >   from matplotlib.colors import LogNorm
> > 
> >   matrix = ones((30,30))
> >   matrix = matrix*440
> >   matrix[29,29] = 100000
> > 
> >   matshow(matrix, norm=LogNorm(vmin=1, vmax=1000000))
> >   colorbar()
> >   show()
> > 
> >   The cutoff value for incorrect display (for the scale I am using) seems 
> >   to
> >   be at 32000:
> > 
> >   from pylab import *
> >   from matplotlib.colors import LogNorm
> > 
> >   matrix = ones((30,30))
> >   matrix = matrix*440
> >   matrix[29,29] = 32000
> > 
> >   matshow(matrix, norm=LogNorm(vmin=1, vmax=1000000))
> >   colorbar()
> >   show()
> > 
> >   However, if the value is really high, the color displayed changes again,
> >   although still not to the correct color (please try with values 918000,
> >   920000, and 999000 to see see it progress):
> > 
> >   from pylab import *
> >   from matplotlib.colors import LogNorm
> > 
> >   matrix = ones((30,30))
> >   matrix = matrix*440
> >   matrix[29,29] = 918000
> > 
> >   matshow(matrix, norm=LogNorm(vmin=1, vmax=1000000))
> >   colorbar()
> >   show()
> > 
> >   And if one specifies no limits to LogNorm, the colorbar displayed is
> >   incomplete and the colour displayed is wrong in a different way then when
> >   specifying the limits (try value = 999000 as well).
> > 
> >   from pylab import *
> >   from matplotlib.colors import LogNorm
> > 
> >   matrix = ones((30,30))
> >   matrix = matrix*440
> >   matrix[29,29] = 918000
> > 
> >   matshow(matrix, norm=LogNorm())
> >   colorbar()
> >   show()
> > 
> > 
> >   Either I am completely missing something or there is a major bug.
> > 
> >   I am using mpl checked out from svn on 26 March.
> > 
> >   Thanks,
> >   Suresh
> > 
> >   -------------------------------------------------------------------------
> >   Take Surveys. Earn Cash. Influence the Future of IT
> >   Join SourceForge.net's Techsay panel and you'll get the chance to share
> >   your
> >   opinions on IT & business topics through brief surveys-and earn cash
> >   http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> >   _______________________________________________
> >   Matplotlib-users mailing list
> >   Matplotlib-users@lists.sourceforge.net
> >   https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
>


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to