class_docstr: List of scales
  
  This class has methods the simplify the handling of
  the ggplot object scales
class_docstr_tok: ["List","of","scales","This","class","has","methods","the","simplify","the","handling","of","the","ggplot","object","scales"]
docstr: Add / Update scale
  
  Removes any previous scales that cover the same aesthetics
docstr_tok: ["Add","\/","Update","scale","Removes","any","previous","scales","that","cover","the","same","aesthetics"]
code: def append(self, sc: Scale):
      """
      Add / Update scale
  
      Removes any previous scales that cover the same aesthetics
      """
      ae = sc.aesthetics[0]
      cover_ae = self.find(ae)
      if any(cover_ae):
          warn(_TPL_DUPLICATE_SCALE.format(ae), PlotnineWarning)
          idx = cover_ae.index(True)
          self.pop(idx)
      # super() does not work well with reloads
      list.append(self, sc)
  
imports: from __future__ import annotations
  import itertools
  import typing
  from contextlib import suppress
  from typing import List
  from warnings import warn
  import numpy
  import pandas.api.types
  from .._utils import array_kind
  from .._utils.registry import Registry
  from ..exceptions import PlotnineError, PlotnineWarning
  from ..mapping.aes import aes_to_scale
  from .scale import scale
label_desc: Use image node_id 1 for calling the Scales obj's underlying member method code with example usage: obj.append(sc) without return types