class_docstr: Constructs visualizer for specified vis_type.
  
  NOTE: If you modify arguments here then also sync VisArgs contructor.
code: def _get_vis_base(
      self,
      vis_type,
      cell: VisBase.widgets.Box,
      title,
      hover_images=None,
      hover_image_reshape=None,
      cell_width=None,
      cell_height=None,
      **vis_args,
  ) -> VisBase:
      if vis_type is None or vis_type in [
          "line",
          "mpl-line",
          "mpl-line3d",
          "mpl-scatter3d",
          "mpl-scatter",
      ]:
          return mpl.line_plot.LinePlot(
              cell=cell,
              title=title,
              cell_width=cell_width,
              cell_height=cell_height,
              is_3d=vis_type is not None and vis_type.endswith("3d"),
              **vis_args,
          )
      if vis_type in ["image", "mpl-image"]:
          return mpl.image_plot.ImagePlot(
              cell=cell,
              title=title,
              cell_width=cell_width,
              cell_height=cell_height,
              **vis_args,
          )
      if vis_type in ["bar", "bar3d"]:
          return mpl.bar_plot.BarPlot(
              cell=cell,
              title=title,
              cell_width=cell_width,
              cell_height=cell_height,
              is_3d=vis_type.endswith("3d"),
              **vis_args,
          )
      if vis_type in ["histogram"]:
          return mpl.histogram.Histogram(
              cell=cell,
              title=title,
              cell_width=cell_width,
              cell_height=cell_height,
              **vis_args,
          )
      if vis_type in ["pie"]:
          return mpl.pie_chart.PieChart(
              cell=cell,
              title=title,
              cell_width=cell_width,
              cell_height=cell_height,
              **vis_args,
          )
      if vis_type in ["text", "summary"]:
          from .text_vis import TextVis
  
          return TextVis(
              cell=cell,
              title=title,
              cell_width=cell_width,
              cell_height=cell_height,
              **vis_args,
          )
      if vis_type in [
          "line3d",
          "scatter",
          "scatter3d",
          "plotly-line",
          "plotly-line3d",
          "plotly-scatter",
          "plotly-scatter3d",
          "mesh3d",
      ]:
          return plotly.line_plot.LinePlot(
              cell=cell,
              title=title,
              cell_width=cell_width,
              cell_height=cell_height,
              is_3d=vis_type.endswith("3d"),
              **vis_args,
          )
      if vis_type in ["tsne", "embeddings", "tsne2d", "embeddings2d"]:
          return plotly.embeddings_plot.EmbeddingsPlot(
              cell=cell,
              title=title,
              cell_width=cell_width,
              cell_height=cell_height,
              is_3d="2d" not in vis_type,
              hover_images=hover_images,
              hover_image_reshape=hover_image_reshape,
              **vis_args,
          )
      else:
          raise ValueError(
              'Render vis_type parameter has invalid value: "{}"'.format(
                  vis_type
              )
          )
  
file_path: tensorwatch/tensorwatch/visualizer.py
imports: from .stream import Stream
  from .vis_base import VisBase
  from .None import mpl
  from .None import plotly
label_desc: Use image node_id 4 for calling the Visualizer obj's underlying member method code with example usage: obj._get_vis_base(vis_type, cell, title, hover_images, hover_image_reshape, cell_width, cell_height) and returns: mpl, mpl, mpl, mpl, mpl, TextVis, plotly, plotly