title: Change default colorbar for 3D scatter plot with matplotlib
body: <p>I have 3d coordinates defining positions of points in my 3D scatter plot with a corresponding number of values who I want to create a colour scale for representing the range of values as such:</p>
  
  <pre><code>from mpl_toolkits.mplot3d import Axes3D
  fig = plt.figure()
  ax = fig.add_subplot(111, projection='3d')
  
  xs,ys,zs = np.random.random(50),np.random.random(50),np.random.random(50)
  values = np.random.random(50)*10
  
  p = ax.scatter3D(xs, ys, zs=zs, c=values)
  cbar = fig.colorbar(p)
  cbar.cmap(plt.cm.Greys)
  </code></pre>
  
  <p>without the last line <code>cbar.cmap(plt.cm.Greys)</code> I get a default colormap (jet I think) but when I try to modify this I get the error <code>TypeError: Cannot cast array data from dtype('O') to dtype('int64') according to the rule 'safe'</code>. I would like to be able to change this and I have been looking through the documentation but it seems like there are so many different methods for doing similar things. How can I change the default colormap from this point?</p>
  
  <p>I'm</p>