code: def _parse_plot_quantity(self,quant,**kwargs):
          
          # Cannot be using Quantity output
          kwargs['quantity']= False
          if callable(quant):
              return quant(self.t)
          def _eval(q):
              # Check those that don't have the exact name of the function
              if q == 't':
                  return self.time(self.t,**kwargs)
              elif q == 'Enorm':
                  return self.E(self.t,**kwargs)/self.E(0.,**kwargs)
              elif q == 'Eznorm':
                  return self.Ez(self.t,**kwargs)/self.Ez(0.,**kwargs)
              elif q == 'ERnorm':
                  return self.ER(self.t,**kwargs)/self.ER(0.,**kwargs)
              elif q == 'Jacobinorm':
                  return self.Jacobi(self.t,**kwargs)/self.Jacobi(0.,**kwargs)
              else: # these are exact, e.g., 'x' for self.x
                  return self.__getattribute__(q)(self.t,**kwargs)
          try:
              return _eval(quant)
          except AttributeError: pass
          try:
              import numexpr
          except ImportError: #pragma: no cover
              raise ImportError('Parsing the quantity to be plotted failed; if you are trying to plot an expression, please make sure to install numexpr first')
          # Figure out the variables in the expression to be computed to plot
          try:
              vars= numexpr.NumExpr(quant).input_names
          except TypeError as err:
              raise TypeError('Parsing the expression {} failed, with error message:\n"{}"'.format(quant,err))
          # Construct dictionary of necessary parameters
          vars_dict= {}
          for var in vars:
              vars_dict[var]= _eval(var)
          return numexpr.evaluate(quant,local_dict=vars_dict)
docs: Internal function to parse a quantity to be plotted based on input data