def matshow(self, Z, **kwargs):
Z = np.asarray(Z)<EOL>nr, nc = Z.shape<EOL>extent = [-<NUM_LIT:0.5>, nc-<NUM_LIT:0.5>, nr-<NUM_LIT:0.5>, -<NUM_LIT:0.5>]<EOL>kw = {'<STR_LIT>': extent,<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': '<STR_LIT>',<EOL>'<STR_LIT>': '<STR_LIT>'}          <EOL>kw.update(kwargs)<EOL>im = self.imshow(Z, **kw)<EOL>self.title.set_y(<NUM_LIT>)<EOL>self.xaxis.tick_top()<EOL>self.xaxis.set_ticks_position('<STR_LIT>')<EOL>self.xaxis.set_major_locator(mticker.MaxNLocator(nbins=<NUM_LIT:9>,<EOL>steps=[<NUM_LIT:1>, <NUM_LIT:2>, <NUM_LIT:5>, <NUM_LIT:10>],<EOL>integer=True))<EOL>self.yaxis.set_major_locator(mticker.MaxNLocator(nbins=<NUM_LIT:9>,<EOL>steps=[<NUM_LIT:1>, <NUM_LIT:2>, <NUM_LIT:5>, <NUM_LIT:10>],<EOL>integer=True))<EOL>return im<EOL>
Plot a matrix or array as an image.

The matrix will be shown the way it would be printed,
with the first row at the top.  Row and column numbering
is zero-based.

Argument:
    *Z*   anything that can be interpreted as a 2-D array

kwargs all are passed to :meth:`~matplotlib.axes.Axes.imshow`.
:meth:`matshow` sets defaults for *extent*, *origin*,
*interpolation*, and *aspect*; use care in overriding the
*extent* and *origin* kwargs, because they interact.  (Also,
if you want to change them, you probably should be using
imshow directly in your own version of matshow.)

Returns: an :class:`matplotlib.image.AxesImage` instance.