class_docstr: A subclass of :class:`~matplotlib.artist.Artist` capable of
  drawing a :class:`cartopy.feature.Feature`.
class_docstr_tok: ["A","subclass","of",":","class",":","`","~matplotlib.artist.Artist","`","capable","of","drawing","a",":","class",":","`","cartopy.feature.Feature","`","."]
docstr: Parameters
  ----------
  feature
      An instance of :class:`cartopy.feature.Feature` to draw.
  styler
      A callable that given a gemometry, returns matplotlib styling
      parameters.
  
  Other Parameters
  ----------------
  **kwargs
      Keyword arguments to be used when drawing the feature. These
      will override those shared with the feature.
docstr_tok: ["Parameters","--","--","--","--","--","feature","An","instance","of",":","class",":","`","cartopy.feature.Feature","`","to","draw",".","styler","A","callable","that","given","a","gemometry",",","returns","matplotlib","styling","parameters",".","Other","Parameters","--","--","--","--","--","--","--","--","*","*","kwargs","Keyword","arguments","to","be","used","when","drawing","the","feature",".","These","will","override","those","shared","with","the","feature","."]
code: def __init__(self, feature, **kwargs):
      """
      Parameters
      ----------
      feature
          An instance of :class:`cartopy.feature.Feature` to draw.
      styler
          A callable that given a gemometry, returns matplotlib styling
          parameters.
  
      Other Parameters
      ----------------
      **kwargs
          Keyword arguments to be used when drawing the feature. These
          will override those shared with the feature.
  
      """
      super().__init__()
  
      if kwargs is None:
          kwargs = {}
      self._styler = kwargs.pop("styler", None)
      self._kwargs = dict(kwargs)
  
      if "color" in self._kwargs:
          # We want the user to be able to override both face and edge
          # colours if the original feature already supplied it.
          color = self._kwargs.pop("color")
          self._kwargs["facecolor"] = self._kwargs["edgecolor"] = color
  
      # Set default zorder so that features are drawn under
      # lines e.g. contours but over images and filled patches.
      # Note that the zorder of Patch, PatchCollection and PathCollection
      # are all 1 by default. Assuming default zorder, drawing takes place in
      # the following order: collections, patches, FeatureArtist, lines,
      # text.
      if self._kwargs.get("zorder") is not None:
          self.set_zorder(self._kwargs["zorder"])
      elif feature.kwargs.get("zorder") is not None:
          self.set_zorder(feature.kwargs["zorder"])
      else:
          self.set_zorder(1.5)
  
      self._feature = feature
  
file_path: cartopy/lib/cartopy/mpl/feature_artist.py
imports: from collections import OrderedDict
  import warnings
  import weakref
  import matplotlib.artist
  import matplotlib.collections
  import numpy
  import cartopy.mpl.patch
  from .style import finalize
  from .style import merge
label_desc: Use image node_id 1 to create a new FeatureArtist object from inherited base classes: matplotlib.artist with example: obj = FeatureArtist(feature)