I am using ipython with matplotlib, and I show images in this way:
(started up with: ipython –pylab)
figure()
im = zeros([256,256]) #just a stand-in for my real images
imshow(im)
Now, as I move the cursor over the image, I see the location of the mouse displayed in the lower left corner of the figure window. The numbers displayed are x = column number, y = row number. This is very plot-oriented rather than image-oriented. Can I modify the numbers displayed?
- My first choice would be to display x = row number*scalar, y = column number*scalar
- My second choice would be to display x = row number, y = column number
- My third choice is to not display the numbers for the mouse location at all
Can I do any of these things? I’m not even sure what to call that little mouse-over test display widget. Thanks!
You can do this quite simply on a per axis basis by simply re-assigning
format_coordof theAxesobject, as shown in the examples.format_coordis any function which takes 2 arguments (x,y) and returns a string (which is then displayed on the figure.If you want to have no display simply do:
If you want just the row and column (with out checking)
If you want to do this on every iimage you make, simply define the wrapper function
which with out much testing I think should more-or-less be drop-in replacement for
plt.imshow