code: def plotHPCP(
      signal,
      signalname,
      hpcp,
      w,
      speaks,
      frameSize,
      hopSize,
      figtitle,
      show=False,
  ):
      hpcp_, _, _, hpcpmean, hpcpmedian = extractHPCP(
          signal, frameSize, hopSize, w, speaks, hpcp, signal
      )
      fig = figure(
          num=None, figsize=(8, 5), dpi=80, facecolor="w", edgecolor="k"
      )
      gs = GridSpec(4, 4)
      ax1 = subplot(gs[:, :-1])
      ax2 = subplot(gs[:, -1])
      ax1.imshow(hpcp_[::-1, :], aspect="auto")
      ax1.set_title(figtitle)
      ax2.plot(hpcpmean, xrange(36))
      yticks(np.arange(36), np.arange(35, -1, -1))
      locator_params(axis="x", nbins=4)
      tight_layout()
      if show:
          show()
      figname = figtitle + ".png"
      fig.savefig(figname, bbox_inches="tight")
      html = '<p><img src="' + figname + '"></p>\n'
      return html
  
file_path: essentia/test/src/qa/hpcp/test_hpcp_plots.py
imports: import numpy
  import essentia
  from essentia.standard import *
  from matplotlib.pyplot import imshow, show, plot, title, ylim, legend, figure, grid, GridSpec, subplot, text, tight_layout, yticks, locator_params, close
  import matplotlib.pyplot
  from test_hpcp_parameters import *
  from test_hpcp_extract import *
label_desc: Use image node_id 3 for calling a global function with example usage: plotHPCP(signal, signalname, hpcp, w, speaks, frameSize, hopSize, figtitle, show) and returns: html