code: def correlation_heatmap(
      df,
      var_list,
      fig_width=8,
      fig_height=8,
      path=None,
      fmt=".1g",
      palette=palette.OrbitColorMap.BLUE_GRADIENT.value,
  ):
      """This function takes a list of variables and return a heatmap of pairwise correlation. The columns with
      all zero values will not be plotted.
      Parameters
      -----------
      df : pandas data frame
          input df
      var_list : list
          list of the variable names
      fig_width : int, optional
          adjust width of the chart
      fig_height : int, optional,
          adjust height of the chart
      path : str
          path to save the figure
      palette : str, optional
          color palette
  
      Returns
      -------
      one correlation heatmap chart
      """
      # filter out all zero columns
      non_zero_varlist = [
          i for i in var_list if i not in df.columns[(df == 0).all()]
      ]
      df = df[non_zero_varlist].corr()
  
      fig, ax = plt.subplots(figsize=(fig_width, fig_height))
      ax = sns.heatmap(
          df, cmap=palette, annot=True, fmt=fmt, linewidths=0.8
      )
      ax.set_xticklabels(
          ax.get_xticklabels(), rotation=45, horizontalalignment="right"
      )
  
      ax.set_yticklabels(
          ax.get_yticklabels(), rotation=0, horizontalalignment="right"
      )
  
      ax.set_title("Correlation Heatmap")
  
      if path:
          fig.savefig(path)
  
      return ax
  
file_path: orbit/orbit/eda/eda_plot.py
imports: import seaborn
  from matplotlib import pyplot
  import pandas
  import math
  from orbit.constants import palette
  from orbit.utils.plot import orbit_style_decorator
label_desc: Use image node_id 2 for calling a global function with example usage: correlation_heatmap(df, var_list, fig_width, fig_height, path, fmt, palette) and returns: ax