code: def _setup_layout(self, stream_vis):
      # handle multiple y axis
      yaxis = "yaxis" + (
          str(stream_vis.index + 1) if stream_vis.separate_yaxis else ""
      )
  
      xaxis = "xaxis" + str(stream_vis.index + 1)
      axis_props = BasePlotlyPlot._get_axis_common_props(
          stream_vis.xtitle, stream_vis.xrange
      )
      # axis_props['rangeslider'] = dict(visible = True)
      self.widget.layout[xaxis] = axis_props
  
      # handle multiple Y-Axis plots
      color = self.widget.data[stream_vis.trace_index].line.color
      yaxis = "yaxis" + (
          str(stream_vis.index + 1) if stream_vis.separate_yaxis else ""
      )
      axis_props = BasePlotlyPlot._get_axis_common_props(
          stream_vis.ytitle, stream_vis.yrange
      )
      axis_props["linecolor"] = color
      axis_props["tickfont"] = axis_props["titlefont"] = dict(
          color=color
      )
      if stream_vis.index > 0 and stream_vis.separate_yaxis:
          axis_props["overlaying"] = "y"
          axis_props["side"] = "right"
          if stream_vis.index > 1:
              self.widget.layout.xaxis = dict(
                  domain=[0, 1 - 0.085 * (stream_vis.index - 1)]
              )
              axis_props["anchor"] = "free"
              axis_props["position"] = 1 - 0.085 * (
                  stream_vis.index - 2
              )
      self.widget.layout[yaxis] = axis_props
  
      if self.is_3d:
          zaxis = "zaxis"  # + str(stream_vis.index+1)
          axis_props = BasePlotlyPlot._get_axis_common_props(
              stream_vis.ztitle, stream_vis.zrange
          )
          self.widget.layout.scene[zaxis] = axis_props
          self.widget.layout.margin = dict(l=0, r=0, b=0, t=0)
          self.widget.layout.hoverdistance = 1
  
file_path: tensorwatch/tensorwatch/plotly/line_plot.py
imports: from .base_plotly_plot import BasePlotlyPlot
  from ..lv_types import EventData
  from ..None import utils
label_desc: Use image node_id 1 for calling the LinePlot obj's underlying member method code with example usage: obj._setup_layout(stream_vis) without return types