class_docstr: !
  @brief Basic output dynamic visualizer.
  @details The aim of the visualizer is to displayed output dynamic of any process, for example, output dynamic of
            oscillatory network.
docstr: !
  @brief Append several dynamics to canvas or canvases (defined by 'canvas' and 'separate' arguments).
  
  @param[in] t (list): Time points that corresponds to dynamic values and considered on a X axis.
  @param[in] dynamics (list): Dynamics where each of them is considered on Y axis.
  @param[in] canvas (uint): Index of canvas where dynamic should be displayed, in case of 'separate'
              representation this argument is considered as a first canvas from that displaying should be done.
  @param[in] separate (bool|list): If 'True' then each dynamic is displayed on separate canvas, if it is defined
              by list, for example, [ [1, 2], [3, 4] ], then the first and the second dynamics are displayed on
              the canvas with index 'canvas' and the third and forth are displayed on the next 'canvas + 1'
              canvas.
  @param[in] color (string): Color that is used to display output dynamic(s).
docstr_tok: ["!","@","brief","Append","several","dynamics","to","canvas","or","canvases","(","defined","by","'canvas","'","and","'separate","'","arguments",")",".","@","param","[","in","]","t","(","list",")",":","Time","points","that","corresponds","to","dynamic","values","and","considered","on","a","X","axis",".","@","param","[","in","]","dynamics","(","list",")",":","Dynamics","where","each","of","them","is","considered","on","Y","axis",".","@","param","[","in","]","canvas","(","uint",")",":","Index","of","canvas","where","dynamic","should","be","displayed",",","in","case","of","'separate'","representation","this","argument","is","considered","as","a","first","canvas","from","that","displaying","should","be","done",".","@","param","[","in","]","separate","(","bool|list",")",":","If","'True","'","then","each","dynamic","is","displayed","on","separate","canvas",",","if","it","is","defined","by","list",",","for","example",",","[","[","1",",","2","]",",","[","3",",","4","]","]",",","then","the","first","and","the","second","dynamics","are","displayed","on","the","canvas","with","index","'canvas","'","and","the","third","and","forth","are","displayed","on","the","next","'canvas","+","1'","canvas",".","@","param","[","in","]","color","(","string",")",":","Color","that","is","used","to","display","output","dynamic","(","s",")","."]
code: def append_dynamics(
      self, t, dynamics, canvas=0, separate=False, color="blue"
  ):
      """!
      @brief Append several dynamics to canvas or canvases (defined by 'canvas' and 'separate' arguments).
  
      @param[in] t (list): Time points that corresponds to dynamic values and considered on a X axis.
      @param[in] dynamics (list): Dynamics where each of them is considered on Y axis.
      @param[in] canvas (uint): Index of canvas where dynamic should be displayed, in case of 'separate'
                  representation this argument is considered as a first canvas from that displaying should be done.
      @param[in] separate (bool|list): If 'True' then each dynamic is displayed on separate canvas, if it is defined
                  by list, for example, [ [1, 2], [3, 4] ], then the first and the second dynamics are displayed on
                  the canvas with index 'canvas' and the third and forth are displayed on the next 'canvas + 1'
                  canvas.
      @param[in] color (string): Color that is used to display output dynamic(s).
  
      """
      description = dynamic_descr(canvas, t, dynamics, separate, color)
      self.__dynamic_storage.append(description)
      self.__update_canvas_xlim(description.time, description.separate)
  
imports: import matplotlib.pyplot
  from pyclustering.utils import set_ax_param
label_desc: Use image node_id 4 for calling the dynamic_visualizer obj's underlying member method code with example usage: obj.append_dynamics(t, dynamics, canvas, separate, color) without return types