code: def heatmap(self, df, imagefile):
          
          import seaborn as sns
          import matplotlib.ticker as tkr
          import matplotlib.pyplot as plt
          from  matplotlib.colors import LinearSegmentedColormap
  
          sns.set()
          with sns.axes_style('whitegrid'):
              fig, ax = plt.subplots(figsize=(5, 11))  # inches
  
              cmax = max(df[self.args[2]].max(), self.CMAP_MIN_MAX)
              csteps = {
                  0.0: 'darkred', 0.3/cmax: 'red', 0.6/cmax: 'orangered', 0.9/cmax: 'coral',
                  1.0/cmax: 'skyblue', 1.5/cmax: 'blue', 1.9/cmax: 'darkblue',
                  2.0/cmax: 'darkgreen', 3.0/cmax: 'green',
                  (self.CMAP_MIN_MAX - .1)/cmax: 'palegreen', 1.0: 'yellow'}
              cmap = LinearSegmentedColormap.from_list('RdGrYl', sorted(csteps.items()), N=256)
  
              dataset = df.pivot(*self.args)
  
              sns.heatmap(dataset, mask=dataset.isnull(), annot=False, linewidths=.5, square=True, ax=ax, cmap=cmap,
                          annot_kws=dict(stretch='condensed'))
              ax.tick_params(axis='y', labelrotation=30, labelsize=8)
              # ax.get_yaxis().set_major_formatter(tkr.FuncFormatter(lambda x, p: x))
              plt.savefig(imagefile)
docs: Create the heat map.