docs: def load(self, filenameprefix=None):
          """load (or reload) data from output files, `load()` is called in
          `plot()` and `disp()`.
  
          Argument `filenameprefix` is the filename prefix of data to be
          loaded (six files), by default ``'outcmaes'``.
  
          Return self with (added) attributes `xrecent`, `xmean`,
          `f`, `D`, `std`, 'corrspec'
  
          """
          if not filenameprefix:
              filenameprefix = self.name_prefix
          assert len(self.file_names) == len(self.key_names)
          for i in rglen((self.file_names)):
              fn = filenameprefix + self.file_names[i] + '.dat'
              try:
                  self.__dict__[self.key_names[i]] = _fileToMatrix(fn)
              except:
                  _print_warning('reading from file "' + fn + '" failed',
                                 'load', 'CMADataLogger')
              try:
                  if self.key_names[i] in self._key_names_with_annotation:
                      # copy last row to later fill in annotation position for display
                      self.__dict__[self.key_names[i]].append(
                          self.__dict__[self.key_names[i]][-1])
                  self.__dict__[self.key_names[i]] = \
                      array(self.__dict__[self.key_names[i]], copy=False)
              except:
                  _print_warning('no data for %s' % fn, 'load',
                                 'CMADataLogger')
          return self