astropy.visualization.imshow_norm(data, ax=None, imshow_only_kwargs={}, **kwargs)[source]

A convenience function to call matplotlib’s matplotlib.pyplot.imshow function, using an ImageNormalize object as the normalization.

data : 2D or 3D array-like - see imshow

The data to show. Can be whatever imshow and ImageNormalize both accept.

ax : None or Axes, optional

If None, use pyplot’s imshow. Otherwise, calls imshow method of the supplied axes.

imshow_only_kwargs : dict, optional

Arguments to be passed directly to imshow without first trying ImageNormalize. This is only for keywords that have the same name in both ImageNormalize and imshow - if you want to set the imshow keywords only, supply them in this dictionary.

kwargs : dict, optional

All other keyword arguments are parsed first by the ImageNormalize initializer, then to imshow.

result : tuple

A tuple containing the AxesImage generated by imshow as well as the ImageNormalize instance.


The norm matplotlib keyword is not supported.


import numpy as np
import matplotlib.pyplot as plt
from astropy.visualization import (imshow_norm, MinMaxInterval,

# Generate and display a test image
image = np.arange(65536).reshape((256, 256))
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
im, norm = imshow_norm(image, ax, origin='lower',

(png, svg, pdf)