code: def __init__(
      self,
      widget,
      cell: widgets.Box,
      title: str,
      show_legend: bool,
      stream_name: str = None,
      console_debug: bool = False,
      **vis_args,
  ):
      super(VisBase, self).__init__(
          stream_name=stream_name, console_debug=console_debug
      )
  
      self.lock = threading.Lock()
      self._use_hbox = True
      # utils.set_default(vis_args, 'cell_width', '100%')
  
      self.widget = widget
  
      self.cell = (
          cell
          or VisBase.widgets.HBox(
              layout=VisBase.widgets.Layout(
                  width=vis_args.get("cell_width", None)
              )
          )
          if self._use_hbox
          else None
      )
      if self._use_hbox:
          self.cell.children += (self.widget,)
      self._stream_vises = {}
      self.is_shown = cell is not None
      self.title = title
      self.last_ex = None
      self.layout_dirty = False
      self.q_last_processed = 0
  
imports: import sys, time, threading, queue, functools
  from typing import Any
  from types import MethodType
  from abc import ABCMeta, abstractmethod
  from .lv_types import StreamVisInfo, StreamItem
  from .None import utils
  from .stream import Stream
label_desc: Use image node_id 1 to create a new VisBase object from inherited base classes: Stream with example: obj = VisBase(widget, cell, title, show_legend, stream_name, console_debug)