code: def _setup_axes(self, axes_data):
          
  
          self.__axes.clear()
  
          key_setter = [
              ("title", self.__axes.set_title),
              ("xlabel", self.__axes.set_xlabel),
              ("ylabel", self.__axes.set_ylabel),
              ("xscale", self.__axes.set_xscale),
              ("yscale", self.__axes.set_yscale),
              ("xticks", self.__axes.set_xticks),
              ("xtick_labels", self.__axes.set_xticklabels),
              ("xtick_params", self.__axes.tick_params),
              ("yticks", self.__axes.set_yticks),
              ("ytick_labels", self.__axes.set_yticklabels),
              ("ytick_params", self.__axes.tick_params),
              ("xlim", self.__axes.set_xlim),
              ("ylim", self.__axes.set_ylim),
              ("xgrid", self.__axes.xaxis.grid),
              ("ygrid", self.__axes.yaxis.grid),
              ("xdate_format", self._xdate_setter),
          ]
  
          key2setter = OrderedDict(key_setter)
  
          for key in key2setter:
              if key in axes_data and axes_data[key]:
                  try:
                      kwargs_key = key + "_kwargs"
                      kwargs = axes_data[kwargs_key]
  
                  except KeyError:
                      kwargs = {}
  
                  if key == "title":
                      # Shift title up
                      kwargs["y"] = 1.08
  
                  key2setter[key](axes_data[key], **kwargs)
docs: Sets up axes for drawing chart