code: def bundle_shape_profile(x, shape_profile, std):
      """Plot bundlewarp bundle shape profile.
  
      Parameters
      ----------
      x : np.ndarray
          Integer array containing x-axis
      shape_profile : np.ndarray
          Float array containing bundlewarp displacement magnitudes along the
          length of the bundle
      std : np.ndarray
          Float array containing standard deviations
      """
      fig, ax = plt.subplots(figsize=(8, 6), dpi=300)
      std_1 = shape_profile + std
      std_2 = shape_profile - std
      ax.plot(
          x,
          shape_profile,
          "-",
          label="Mean",
          color="Purple",
          linewidth=3,
          markersize=12,
      )
      ax.fill_between(
          x, std_1, std_2, alpha=0.2, label="Std", color="Purple"
      )
  
      plt.xticks(x)
      plt.ylim(0, max(std_1) + 2)
  
      plt.ylabel("Average Displacement")
      plt.xlabel("Segment Number")
      plt.title("Bundle Shape Profile")
      plt.legend(loc=2)
      plt.show()
  
imports: import numpy
  from warnings import warn
  from dipy.utils.optpkg import optional_package
label_desc: Use image node_id 3 for calling a global function with example usage: bundle_shape_profile(x, shape_profile, std) without return types