title: python matplotlib: drawing 3D sphere with circumferences
body: <p>I'm trying to draw a sphere like this one using matplotlib:</p>
  
  <p><a href="https://i.stack.imgur.com/vXLle.png" rel="noreferrer"><img src="https://i.stack.imgur.com/vXLle.png" alt="enter image description here"></a></p>
  
  <p>but I can't find a way of having a dashed lines on the back and the vertical circumference looks a bit strange</p>
  
  <pre><code>import numpy as np
  import matplotlib.pyplot as plt
  from mpl_toolkits.mplot3d import Axes3D
  
  fig = plt.figure(figsize=(12,12), dpi=300)
  ax = fig.add_subplot(111, projection='3d')
  ax.set_aspect('equal')
  
  u = np.linspace(0, 2 * np.pi, 100)
  v = np.linspace(0, np.pi, 100)
  
  x = 1 * np.outer(np.cos(u), np.sin(v))
  y = 1 * np.outer(np.sin(u), np.sin(v))
  z = 1 * np.outer(np.ones(np.size(u)), np.cos(v))
  #for i in range(2):
  #    ax.plot_surface(x+random.randint(-5,5), y+random.randint(-5,5), z+random.randint(-5,5),  rstride=4, cstride=4, color='b', linewidth=0, alpha=0.5)
  
  ax.plot_surface(x, y, z,  rstride=4, cstride=4, color='b', linewidth=0, alpha=0.5)
  ax.plot(np.sin(theta),np.cos(u),0,color='k')
  ax.plot([0]*100,np.sin(theta),np.cos(u),color='k')
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/MI6E1.png" rel="noreferrer"><img src="https://i.stack.imgur.com/MI6E1.png" alt="enter image description here"></a></p>