Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Equivalent to matlab's imagesc in matplotlib? [duplicate]

I am coming to Python and numpy and matplotlib from a Matlab background. One function in matlab that I use all the time is imagesc. Is there an exact equivalent to this somewhere in matplotlib? I know about imshow and pcolor, but the first doesn't allow you to easily set the units of the axes like imagesc, and the second makes you set the x- and y-coordinates of the boundaries of the pixels, rather than the centers of the pixels, which I do not find intuitive.

Basically, if I have an image that I want to display with x- and y-axis labels that are not pixel numbers but are numerical, like distance in mm, what is the easiest way to do it in matplotlib?

like image 235
Matt Avatar asked May 20 '13 17:05

Matt


People also ask

What is Matlab Imagesc?

imagesc( C ) displays the data in array C as an image that uses the full range of colors in the colormap. Each element of C specifies the color for one pixel of the image. The resulting image is an m -by- n grid of pixels where m is the number of rows and n is the number of columns in C .

What is Figure and axis in matplotlib?

A Figure object is the outermost container for a matplotlib graphic, which can contain multiple Axes objects. One source of confusion is the name: an Axes actually translates into what we think of as an individual plot or graph (rather than the plural of “axis,” as we might expect).

What can matplotlib do?

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Matplotlib makes easy things easy and hard things possible. Create publication quality plots. Make interactive figures that can zoom, pan, update.


1 Answers

You want the extent kwarg

ax.imshow(data, extent=[0, 1, 0, 1]) 

See Imshow: extent and aspect for a more detailed example.

like image 106
tacaswell Avatar answered Sep 20 '22 01:09

tacaswell