code: def ppc_density_plot(y, y_rep):
      """Create 1D kernel density plot comparing data to samples from posterior.
  
      Args:
        y: np.ndarray.
          A 1-D NumPy array.
        y_rep: np.ndarray.
          A 2-D NumPy array where rows represent different samples from posterior.
  
      Returns:
        matplotlib axes
  
      #### Examples
  
      ```python
      import matplotlib.pyplot as plt
  
      y = np.random.randn(20)
      y_rep = np.random.randn(20, 20)
  
      ed.ppc_density_plot(y, y_rep)
      plt.show()
      ```
      """
      import matplotlib.pyplot as plt
      import seaborn as sns
  
      ax = sns.kdeplot(y, color="maroon")
  
      n = y_rep.shape[0]
  
      for i in range(n):
          ax = sns.kdeplot(
              y_rep[i, :], color="maroon", alpha=0.2, linewidth=0.8
          )
  
      y_line = plt.Line2D([], [], color="maroon", label="y")
      y_rep_line = plt.Line2D(
          [], [], color="maroon", alpha=0.2, label="y_rep"
      )
  
      handles = [y_line, y_rep_line]
      labels = ["y", r"$y_{rep}$"]
  
      ax.legend(handles, labels)
  
      return ax
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
label_desc: Use image node_id 1 for calling a global function with example usage: ppc_density_plot(y, y_rep) and returns: ax