class_docstr: Dataset for using behavior cloning or GAIL.
  
  The structure of the expert dataset is a dict, saved as an ".npz" archive.
  The dictionary contains the keys 'actions', 'episode_returns', 'rewards', 'obs' and 'episode_starts'.
  The corresponding values have data concatenated across episode: the first axis is the timestep,
  the remaining axes index into the data. In case of images, 'obs' contains the relative path to
  the images, to enable space saving from image compression.
  
  :param expert_path: (str) The path to trajectory data (.npz file). Mutually exclusive with traj_data.
  :param traj_data: (dict) Trajectory data, in format described above. Mutually exclusive with expert_path.
  :param train_fraction: (float) the train validation split (0 to 1)
      for pre-training using behavior cloning (BC)
  :param batch_size: (int) the minibatch size for behavior cloning
  :param traj_limitation: (int) the number of trajectory to use (if -1, load all)
  :param randomize: (bool) if the dataset should be shuffled
  :param verbose: (int) Verbosity
  :param sequential_preprocessing: (bool) Do not use subprocess to preprocess
      the data (slower but use less memory for the CI)
docstr: Show histogram plotting of the episode returns
docstr_tok: ["Show","histogram","plotting","of","the","episode","returns"]
code: def plot(self):
      """
      Show histogram plotting of the episode returns
      """
      # Isolate dependency since it is only used for plotting and also since
      # different matplotlib backends have further dependencies themselves.
      import matplotlib.pyplot as plt
  
      plt.hist(self.returns)
      plt.show()
  
imports: import queue
  import time
  from multiprocessing import Queue, Process
  import cv2
  import numpy
  from joblib import Parallel, delayed
  from stable_baselines import logger
label_desc: Use image node_id 8 for calling the ExpertDataset obj's underlying member method code with example usage: obj.plot() without return types