code: def set_bands_source(self):
      x_ticks = self.bokeh_source.data["index"]
      mean_values = self.bokeh_source.data[self.mean_signal]
      stdev_values = self.bokeh_source.data[self.stdev_signal]
      band_x = np.append(x_ticks, x_ticks[::-1])
      band_y = np.append(
          mean_values - stdev_values,
          mean_values[::-1] + stdev_values[::-1],
      )
      source_data = {"band_x": band_x, "band_y": band_y}
      if self.bollinger_bands_source:
          self.bollinger_bands_source.data = source_data
      else:
          self.bollinger_bands_source = ColumnDataSource(source_data)
  
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 7 for calling the Signal obj's underlying member method code with example usage: obj.set_bands_source() without return types