title: Heatmap with 3D data in matplotlib
body: <p>I want to generate a heat map with my 3D data. </p>
  
  <p>I have been able to plot trisurf using this data.</p>
  
  <p>Can some one help me generate a heat map? I saw the online tutorials but they all seem quite complex for 3D. I found one on this website 'generating heatmap with scatter point in matplotlib but that is having only 2D data.</p>
  
  <p>My code to generate trisurf is </p>
  
  <pre><code>from mpl_toolkits.mplot3d import Axes3D
  
  from matplotlib import cm
  import matplotlib.pyplot as plt
  import numpy as np
  
  n_angles = 36
  n_radii = 8
  
  # An array of radii
  # Does not include radius r=0, this is to eliminate duplicate points
  radii = np.linspace(0.125, 1.0, n_radii)
  
  # An array of angles
  angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False)
  
  # Repeat all angles for each radius
  angles = np.repeat(angles[...,np.newaxis], n_radii, axis=1)
  
  # Convert polar (radii, angles) coords to cartesian (x, y) coords
  # (0, 0) is added here. There are no duplicate points in the (x, y) plane
  
  x,y,z =np.loadtxt('output/flash_KR_endowment_duration_3D.dat',delimiter='\t',usecols=(0,1,2),unpack=True)
  #x,y,z =np.loadtxt('output/disk_KR_endowment_duration_3D.dat',delimiter='\t',usecols=(0,1,2),unpack=True)
  
  
  fig = plt.figure()
  ax = fig.gca(projection='3d')
  #fig.suptitle(suptitle, fontsize=12, fontweight='bold')
  
  
  #ax.set_title("Disk Kryder's Rate-Endowment-Duration Plot",fontsize=12)
  ax.set_title("Flash Kryder's Rate-Endowment-Duration Plot",fontsize=12)
  
  ax.set_xlabel("Kryder's rate")
  ax.set_ylabel("Duration")
  ax.set_zlabel("Endowment")
  
  
  surf = ax.plot_trisurf(x, y, z, cmap=cm.jet, linewidth=0.2)
  fig.colorbar(surf, shrink=.7, aspect=20)
  
  plt.show()
  </code></pre>
  
  <p>Data is 3 column. say X,Y,Z. I have tried 3D scatter plot with color. But I am looking for heatmap.</p>