title: Correctly setting the axes limits in matplotlib 3dplots?
body: <p>I'm having an issue with setting limits for my 3d plots in matplotlib; I'm finding that no matter how I set my limits for the x,y, and z axes, the plotting routine for 3dplots adds an extra buffer.</p>
  
  <pre><code>from mpl_toolkits.mplot3d import Axes3D
  from matplotlib import pyplot as plt
  
  fig = plt.figure() 
  ax = fig.add_subplot(111,projection='3d') 
  ax.axes.set_xlim3d(left=0, right=10) 
  ax.axes.set_ylim3d(bottom=0, top=10) 
  ax.axes.set_zlim3d(bottom=0, top=10) 
  plt.show()
  </code></pre>
  
  <p>This produces the following plot:</p>
  
  <p><a href="https://i.stack.imgur.com/armL2.png" rel="noreferrer"><img src="https://i.stack.imgur.com/armL2.png" alt="3d axes image"></a></p>
  
  <p>As you can see, the limits are supposed to be at x, y, z = {0, 10} however the 3D plotting always adds a little bit of a buffer to each edge. Does anyone know a way to turn this effect off? </p>
  
  <p>I've also used plt.xlims(); and ax.axes.set_xlims() but they produce the same effect.</p>