title: How to plot a perfectly smooth sphere in python using matplotlib?
body: <p>I am trying to plot a perfectly smooth sphere in python using matplotlib. I have been using the following code:</p>
  
  <pre><code>import matplotlib.pyplot as plt
  from mpl_toolkits.mplot3d import Axes3D
  import numpy as np
  
  fig = plt.figure(1)    
  ax = fig.add_subplot(111, projection='3d')
  
  u = np.linspace(0, 2 * np.pi, 100)
  v = np.linspace(0, np.pi, 100)
  x = np.outer(np.cos(u), np.sin(v))
  y = np.outer(np.sin(u), np.sin(v))
  z = np.outer(np.ones(np.size(u)), np.cos(v))
  
  ax.plot_surface(x, y, z, linewidth=0.0)
  
  plt.show()
  </code></pre>
  
  <p>The plot I obtained is attached below:
  <img src="https://i.stack.imgur.com/hLe0K.png" alt="figure"></p>
  
  <p>The figure generated consists of patches of rectangular surfaces on it. Is it possible to smoothen out the boundaries or make it indistinguishable and to make a perfectly smooth sphere?   </p>