Hi,
I'm plotting some 2D grid data using imshow(). However, one of my test
problems involves a Gaussian peak in the center of my grid. For some
strange reason this Gaussian looks like 5 distinct peaks. It looks like
the values are only set at the centers of my grid cells and then the
colour gradients are interpolate from this central point and a
background.
You can have a look at the original plot and a magnified one at
http://www.maths.monash.edu.au/~clerrahn/gaussian1.png
http://www.maths.monash.edu.au/~clerrahn/gaussian2.png
Cheers,
Christian
Christian Lerrahn wrote:
Hi,
I'm plotting some 2D grid data using imshow(). However, one of my test
problems involves a Gaussian peak in the center of my grid. For some
strange reason this Gaussian looks like 5 distinct peaks. It looks like
the values are only set at the centers of my grid cells and then the
colour gradients are interpolate from this central point and a
background.
You can have a look at the original plot and a magnified one at
http://www.maths.monash.edu.au/~clerrahn/gaussian1.png
http://www.maths.monash.edu.au/~clerrahn/gaussian2.png
The problem is that the colors are being set at the points by looking them up in the colormap, and the intermediate colors are being interpolated between those looked-up colors (this may be the point you are trying to make, but I couldn't be sure). The peak color is correct; it only looks like it is lower than the four surrounding points because that colormap is not a very good one for this kind of data. Use a single-hue colormap, instead.
The alternative is to interpolate the *values* at the intermediate pixels first, and then look up the colors for each pixel in the colormap. This would give more reasonable results even with misapplied colormaps. However, it will probably be less efficient to implement.
···
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
You can choose the kind of interpolation that gets used:
* interpolation is one of:
'nearest', 'bilinear', 'bicubic', 'spline16', 'spline36',
'hanning', 'hamming', 'hermite', 'kaiser', 'quadric',
'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc',
'lanczos', 'blackman'
if interpolation is None, default to rc
image.interpolation. See also th the filternorm and
filterrad parameters
If you don't want interpolation at all, just solid filled squares, then use interpolation='nearest'.
Eric
Christian Lerrahn wrote:
···
Hi,
I'm plotting some 2D grid data using imshow(). However, one of my test
problems involves a Gaussian peak in the center of my grid. For some
strange reason this Gaussian looks like 5 distinct peaks. It looks like
the values are only set at the centers of my grid cells and then the
colour gradients are interpolate from this central point and a
background.
You can have a look at the original plot and a magnified one at
http://www.maths.monash.edu.au/~clerrahn/gaussian1.png
http://www.maths.monash.edu.au/~clerrahn/gaussian2.png
Cheers,
Christian
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
matplotlib-users List Signup and Options