title: visualize 3d geographical data using 3d barplot
body: <p>I am trying to visualize 2 geographic variables (population density and another continuous variable), and I am now resorting to plotting the data using 3d histograms, where the volume of one bar would be the population of one district and the colour of the bar will be another continuous variable.</p>
  <p>Since the districts all have different sizes, the bars would have different sizes. I have tried using the matplotlib:</p>
  <pre><code>xG, yG, pm2p5, zH, citwid = visMat[:,0], visMat[:,1], visMat[:,2], visMat[:,3], (visMat[:,4]/5e9)
  colors = plt.cm.jet(pm2p5/float(pm2p5.max()))
  fig = plt.figure()
  ax = fig.add_subplot(111, projection='3d')
  ax.bar3d( xG,
            yG,
            zH,
            citwid, 
            citwid, 
            zH, color=colors)
  plt.show()
  </code></pre>
  <p>xG, yG, pm2p5 and zH are respectively the x, y corrodinates one continuous variable pm2p5 visualizing the color and a population density zH. The citwidth is roughly meant to be the width of the bar. All are one dimensional arrays. However, after the attempt, the bar on the plot looks elevated, and the faces of the bar are generally rectangles rather than squares.
  A side image can be seen here:
  <a href="https://i.stack.imgur.com/NDZPe.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/NDZPe.png" alt="enter image description here" /></a>
  Could anyone help as to how one might approach this?</p>