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 get_data(self, element, ranges, style):
      zdata = element.dimension_values(2, flat=False)
      data = np.ma.array(zdata, mask=np.logical_not(np.isfinite(zdata)))
      coords = [
          element.interface.coords(
              element, d, ordered=True, expanded=True
          )
          for d in element.kdims
      ]
      if self.invert_axes:
          coords = coords[::-1]
          data = data.T
      cmesh_data = coords + [data]
  
      if self.plot_type != "wireframe" and "cmap" in style:
          self._norm_kwargs(element, ranges, style, element.vdims[0])
      return cmesh_data, style, {}
  
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 2 for calling the SurfacePlot obj's underlying member method code with example usage: obj.get_data(element, ranges, style) and returns: cmesh_data,  style,  dict