code: def draw_heatmap_hv(
      dft,
      conti,
      chart_format,
      datevars=[],
      dep=None,
      modeltype="Regression",
      classes=None,
      mk_dir="AutoViz_Plots",
      verbose=0,
  ):
      ensure_hvplot_imported()
      dft = copy.deepcopy(dft)
      ### Test if this is a time series data set, then differene the continuous vars to find
      ###  if they have true correlation to Dependent Var. Otherwise, leave them as is
      width_size = 600
      height_size = 400
      cmap_list = [
          "#75968f",
          "#a5bab7",
          "#c9d9d3",
          "#e2e2e2",
          "#dfccce",
          "#ddb7b1",
          "#cc7878",
          "#933b41",
          "#550b1d",
      ]
      if len(conti) <= 1:
          return
      elif len(conti) <= 10:
          height_size = 500
          width_size = 600
      else:
          height_size = 800
          width_size = 1200
      plot_name = "heatmaps"
      #####  If it is a datetime index we need to calculate heat map on differenced data ###
      if isinstance(dft.index, pd.DatetimeIndex):
          dft = dft[:]
          timeseries_flag = True
          pass
      else:
          dft = dft[:]
          try:
              dft.index = pd.to_datetime(
                  dft.pop(datevars[0]), infer_datetime_format=True
              )
              timeseries_flag = True
          except:
              if verbose == 1 and len(datevars) > 0:
                  print(
                      "No date vars could be found or %s could not be indexed."
                      % datevars
                  )
              elif verbose == 1 and len(datevars) == 0:
                  print("No date vars could be found in data set")
              timeseries_flag = False
      # Add a column: the color depends on target variable but you can use whatever function
      imgdata_list = list()
      ##########    This is where we plot the charts #########################
      if not modeltype in ["Regression", "Clustering"]:
          ########## This is for Classification problems only ###########
          if dft[dep].dtype == object or dft[dep].dtype == np.int64:
              dft[dep] = dft[dep].factorize()[0]
          image_count = 0
          N = len(conti)
          target_vars = dft[dep].unique()
          plotc = 1
          # rows = len(target_vars)
          rows = 1
          cols = 1
          if timeseries_flag:
              dft_target = dft[[dep] + conti].diff()
          else:
              dft_target = dft[:]
          dft_target[dep] = dft[dep].values
          corre = dft_target.corr()
          if timeseries_flag:
              heatmap = corre.hvplot.heatmap(
                  height=height_size,
                  width=width_size,
                  colorbar=True,
                  cmap=cmap_list,
                  rot=70,
                  title="Time Series: Heatmap of all Differenced Continuous vars for target = %s"
                  % dep,
              )
          else:
              heatmap = corre.hvplot.heatmap(
                  height=height_size,
                  width=width_size,
                  colorbar=True,
                  cmap=cmap_list,
                  rot=70,
                  title="Heatmap of all Continuous Variables including target",
              )
          hv_plot = heatmap * hv.Labels(heatmap).opts(
              opts.Labels(text_font_size="7pt")
          )
          hv_panel = pn.panel(hv_plot)
          if verbose == 2:
              imgdata_list = append_panels(
                  hv_panel, imgdata_list, chart_format
              )
              image_count += 1
      else:
          ### This is for Regression and None Dep variable problems only ##
          image_count = 0
          if dep is None or dep == "":
              pass
          else:
              conti += [dep]
          dft_target = dft[conti]
          if timeseries_flag:
              dft_target = dft_target.diff().dropna()
          else:
              dft_target = dft_target[:]
          N = len(conti)
          corre = dft_target.corr()
          if timeseries_flag:
              heatmap = corre.hvplot.heatmap(
                  height=height_size,
                  width=width_size,
                  colorbar=True,
                  cmap=cmap_list,
                  rot=70,
                  title="Time Series Data: Heatmap of Differenced Continuous vars including target",
              ).opts(opts.HeatMap(tools=["hover"], toolbar="above"))
          else:
              heatmap = corre.hvplot.heatmap(
                  height=height_size,
                  width=width_size,
                  colorbar=True,
                  cmap=cmap_list,
                  rot=70,
                  title="Heatmap of all Continuous Variables including target",
              ).opts(opts.HeatMap(tools=["hover"], toolbar="above"))
          hv_plot = heatmap * hv.Labels(heatmap).opts(
              opts.Labels(text_font_size="7pt")
          )
          hv_panel = pn.panel(hv_plot)
          if verbose == 2:
              imgdata_list = append_panels(
                  hv_panel, imgdata_list, chart_format
              )
              image_count += 1
      ############# End of Heat Maps ##############
      if chart_format in ["server", "bokeh_server", "bokeh-server"]:
          print("%s can be found in URL below:" % plot_name)
          server = pn.serve(hv_panel, start=True, show=True)
          # hv_panel.show() ### dont use show for just heatmap there is some problem with it
      elif chart_format == "html":
          save_html_data(hv_panel, chart_format, plot_name, mk_dir)
      else:
          display(
              hv_panel
          )  ### This will display it in a Jupyter Notebook. If you want it on a server, you use drawobj.show()
          # display_obj(hv_panel)  ### This will display it in a Jupyter Notebook. If you want it on a server, you use drawobj.show()
      return hv_panel
  
imports: import numpy
  import pandas
  from autoviz.AutoViz_Utils import *
  import copy
  import warnings
  import logging
  import warnings
  from sklearn.exceptions import DataConversionWarning
  import matplotlib
  import matplotlib.pyplot
  import io
  import seaborn
  import re
  import pdb
  import pprint
  import matplotlib
  from itertools import cycle, combinations
  from collections import defaultdict
  import copy
  import time
  import sys
  import random
  import xlrd
  import statsmodels
  from io import BytesIO
  import base64
  from functools import reduce
  import traceback
  import xgboost
  from xgboost.sklearn import XGBClassifier
  from xgboost.sklearn import XGBRegressor
  import os
  from .classify_method import classify_columns
label_desc: Use image node_id 17 for calling a global function with example usage: draw_heatmap_hv(dft, conti, chart_format, datevars, dep, modeltype, classes, mk_dir, verbose) and returns: hv_panel