code: def plot_polygon(
      polygon,
      ax=None,
      add_points=True,
      color=None,
      facecolor=None,
      edgecolor=None,
      linewidth=None,
      **kwargs,
  ):
      """
      Plot a (Multi)Polygon.
  
      Note: this function is experimental, and mainly targetting (interactive)
      exploration, debugging and illustration purposes.
  
      Parameters
      ----------
      polygon : shapely.Polygon or shapely.MultiPolygon
      ax : matplotlib Axes, default None
          The axes on which to draw the plot. If not specified, will get the
          current active axes or create a new figure.
      add_points : bool, default True
          If True, also plot the coordinates (vertices) as points.
      color : matplotlib color specification
          Color for both the polygon fill (face) and boundary (edge). By default,
          the fill is using an alpha of 0.3. You can specify `facecolor` and
          `edgecolor` separately for greater control.
      facecolor : matplotlib color specification
          Color for the polygon fill.
      edgecolor : matplotlib color specification
          Color for the polygon boundary.
      linewidth : float
          The line width for the polygon boundary.
      **kwargs
          Additional keyword arguments passed to the matplotlib Patch.
  
      Returns
      -------
      Matplotlib artist (PathPatch), if `add_points` is false.
      A tuple of Matplotlib artists (PathPatch, Line2D), if `add_points` is true.
      """
      from matplotlib import colors
  
      if ax is None:
          ax = _default_ax()
  
      if color is None:
          color = "C0"
      color = colors.to_rgba(color)
  
      if facecolor is None:
          facecolor = list(color)
          facecolor[-1] = 0.3
          facecolor = tuple(facecolor)
  
      if edgecolor is None:
          edgecolor = color
  
      patch = patch_from_polygon(
          polygon,
          facecolor=facecolor,
          edgecolor=edgecolor,
          linewidth=linewidth,
          **kwargs,
      )
      ax.add_patch(patch)
      ax.autoscale_view()
  
      if add_points:
          line = plot_points(polygon, ax=ax, color=color)
          return patch, line
  
      return patch
  
file_path: shapely/shapely/plotting.py
imports: import numpy
  import shapely
label_desc: Use image node_id 4 for calling a global function with example usage: plot_polygon(polygon, ax, add_points, color, facecolor, edgecolor, linewidth) and returns: patch, patch,  line