class_docstr: Base class for FigureWidget. The FigureWidget class is code-generated as a
  subclass
docstr: Process Plotly.relayout message from the frontend
docstr_tok: ["Process","Plotly.relayout","message","from","the","frontend"]
code: def _handler_js2py_relayout(self, change):
      """
      Process Plotly.relayout message from the frontend
      """
  
      # Receive message
      # ---------------
      relayout_msg = change["new"]
  
      if not relayout_msg:
          self._js2py_relayout = None
          return
  
      relayout_data = relayout_msg["relayout_data"]
      source_view_id = relayout_msg["source_view_id"]
  
      if "lastInputTime" in relayout_data:
          # Remove 'lastInputTime'. Seems to be an internal plotly
          # property that is introduced for some plot types, but it is not
          # actually a property in the schema
          relayout_data.pop("lastInputTime")
  
      # Perform relayout
      # ----------------
      self.plotly_relayout(
          relayout_data=relayout_data, source_view_id=source_view_id
      )
  
      self._js2py_relayout = None
  
imports: import ipywidgets
  from traitlets import List, Unicode, Dict, observe, Integer
  from .basedatatypes import BaseFigure, BasePlotlyType
  from .callbacks import BoxSelector, LassoSelector, InputDeviceState, Points
  from .serializers import custom_serializers
  from .version import __frontend_version__
label_desc: Use image node_id 13 for calling the BaseFigureWidget obj's underlying member method code with example usage: obj._handler_js2py_relayout(change) without return types