class_docstr: Plots surfaces wireframes and contours in 3D space.
  Provides options to switch the display type via the
  plot_type parameter has support for a number of
  styling options including strides and colors.
class_docstr_tok: ["Plots","surfaces","wireframes","and","contours","in","3D","space",".","Provides","options","to","switch","the","display","type","via","the","plot_type","parameter","has","support","for","a","number","of","styling","options","including","strides","and","colors","."]
code: def init_artists(self, ax, plot_data, plot_kwargs):
      if self.plot_type == "wireframe":
          artist = ax.plot_wireframe(*plot_data, **plot_kwargs)
      elif self.plot_type == "surface":
          artist = ax.plot_surface(*plot_data, **plot_kwargs)
      elif self.plot_type == "contour":
          artist = ax.contour3D(*plot_data, **plot_kwargs)
      return {"artist": artist}
  
imports: import numpy
  import param
  from matplotlib import cm
  from mpl_toolkits.mplot3d.art3d import Line3DCollection
  from packaging.version import Version
  from ...core import Dimension
  from ...core.options import abbreviated_exception
  from ...util.transform import dim
  from ..util import map_colors
  from .chart import PointPlot
  from .element import ColorbarPlot
  from .path import PathPlot
  from .util import mpl_version
label_desc: Use image node_id 1 for calling the SurfacePlot obj's underlying member method code with example usage: obj.init_artists(ax, plot_data, plot_kwargs) and returns: dict