code: def set_selected(self, val):
      if self.selected != val:
          self.selected = val
          if self.line:
              # self.set_color(Dark2[8][current_color])
              # current_color = (current_color + 1) % len(Dark2[8])
              self.line.visible = self.selected
              if self.bands:
                  self.bands.visible = (
                      self.selected and self.show_bollinger_bands
                  )
          elif self.selected:
              # lazy plotting - plot only when selected for the first time
              self.plot_line()
  
file_path: coach/rl_coach/dashboard_components/signals.py
imports: import random
  import numpy
  from bokeh.models import ColumnDataSource
  from bokeh.palettes import Dark2
  from rl_coach.dashboard_components.globals import show_spinner, hide_spinner, current_color
  from rl_coach.utils import squeeze_list
label_desc: Use image node_id 4 for calling the Signal obj's underlying member method code with example usage: obj.set_selected(val) without return types