docs: def view_umatrix(self, figsize=None, colormap=cm.Spectral_r,
                       colorbar=False, bestmatches=False, bestmatchcolors=None,
                       labels=None, zoom=None, filename=None):
          """Plot the U-matrix of the trained map.
  
          :param figsize: Optional parameter to specify the size of the figure.
          :type figsize: (int, int)
          :param colormap: Optional parameter to specify the color map to be
                           used.
          :type colormap: matplotlib.colors.Colormap
          :param colorbar: Optional parameter to include a colormap as legend.
          :type colorbar: bool.
          :param bestmatches: Optional parameter to plot best matching units.
          :type bestmatches: bool.
          :param bestmatchcolors: Optional parameter to specify the color of each
                                  best matching unit.
          :type bestmatchcolors: list of int.
          :param labels: Optional parameter to specify the label of each point.
          :type labels: list of str.
          :param zoom: Optional parameter to zoom into a region on the map. The
                       first two coordinates of the tuple are the row limits, the
                       second tuple contains the column limits.
          :type zoom: ((int, int), (int, int))
          :param filename: If specified, the plot will not be shown but saved to
                           this file.
          :type filename: str.
          """
          if self.umatrix is None:
              raise Exception("The U-matrix is not available. Either train a map"
                              " or load a U-matrix from a file")
          return self._view_matrix(self.umatrix, figsize, colormap, colorbar,
                                   bestmatches, bestmatchcolors, labels, zoom,
                                   filename)