docs: def __format(self, x, type='x'):
          """ home built tick formatter to use with FuncFormatter():
          x     value to be formatted
          type  'x' or 'y' or 'y2' to set which list of ticks to get
  
          also sets self._yfmt/self._xfmt for statusbar
          """
          fmt, v = '%1.5g','%1.5g'
          if type == 'y':
              ax = self.axes.yaxis
          elif type == 'y2' and len(self.fig.get_axes()) > 1:
              ax =  self.fig.get_axes()[1].yaxis
          else:
              ax = self.axes.xaxis
  
          try:
              dtick = 0.1 * ax.get_view_interval().span()
          except:
              dtick = 0.2
          try:
              ticks = ax.get_major_locator()()
              dtick = abs(ticks[1] - ticks[0])
          except:
              pass
          if dtick > 89999:
              fmt, v = ('%.1e',  '%1.6g')
          elif dtick > 1.99:
              fmt, v = ('%1.0f', '%1.2f')
          elif dtick > 0.099:
              fmt, v = ('%1.1f', '%1.3f')
          elif dtick > 0.0099:
              fmt, v = ('%1.2f', '%1.4f')
          elif dtick > 0.00099:
              fmt, v = ('%1.3f', '%1.5f')
          elif dtick > 0.000099:
              fmt, v = ('%1.4f', '%1.6e')
          elif dtick > 0.0000099:
              fmt, v = ('%1.5f', '%1.6e')
  
          s =  fmt % x
          s.strip()
          s = s.replace('+', '')
          while s.find('e0')>0:
              s = s.replace('e0','e')
          while s.find('-0')>0:
              s = s.replace('-0','-')
          if type == 'y':
              self._yfmt = v
          if type == 'y2':
              self._y2fmt = v
          if type == 'x':
              self._xfmt = v
          return s