class_docstr: Visualizes a policy in an environment.
class_docstr_tok: ["Visualizes","a","policy","in","an","environment","."]
docstr: Update the plotter.
  
  Args:
      policy (garage.np.policies.Policy): New policy to roll out in the
          visualization.
      max_length (int): Maximum number of steps to roll out.
docstr_tok: ["Update","the","plotter",".","Args",":","policy","(","garage.np.policies.Policy",")",":","New","policy","to","roll","out","in","the","visualization",".","max_length","(","int",")",":","Maximum","number","of","steps","to","roll","out","."]
code: def update_plot(self, policy, max_length=np.inf):
      """Update the plotter.
  
      Args:
          policy (garage.np.policies.Policy): New policy to roll out in the
              visualization.
          max_length (int): Maximum number of steps to roll out.
  
      """
      if not Plotter.enable:
          return
      self._queue.put(
          Message(
              op=Op.DEMO,
              args=(policy.get_param_values(), max_length),
              kwargs=None,
          )
      )
  
file_path: garage/src/garage/plotter/plotter.py
imports: import atexit
  from collections import namedtuple
  from enum import Enum
  from multiprocessing import JoinableQueue, Process
  import platform
  from threading import Thread
  import numpy
  from garage import rollout
label_desc: Use image node_id 8 for calling the Plotter obj's underlying member method code with example usage: obj.update_plot(policy, max_length) without return types