title: Plotting streamlines in a Matplotlib 3Dplot?
body: <p>I'm trying to plot streamlines on a plane in a 3D plot using Matplotlib. For the streamlines, I'd like to use the function <code>streamplot()</code>, because of its simplicity. Here's a MWE that I modified from the gallery (to attempt the <code>streamplot()</code> call):</p>
  
  <pre><code>from mpl_toolkits.mplot3d import axes3d
  import matplotlib.pyplot as plt
  from matplotlib import cm
  X, Y, Z = axes3d.get_test_data(0.05)
  
  fig = plt.figure()
  ax = fig.gca()
  plt.streamplot(X, Y, X, Y)
  plt.show()
  
  fig = plt.figure()
  ax = fig.gca(projection='3d')
  cset = ax.contour(X, Y, Z, zdir='z', offset=-10, cmap=cm.coolwarm)
  ax.set_zlim(-100, 100)
  plt.show()
  
  fig = plt.figure()
  ax = fig.gca(projection='3d')
  cset = ax.streamplot(X, Y, X, Y, zdir='z', offset=-10, cmap=cm.coolwarm)
  ax.set_zlim(-100, 100)
  plt.show()
  </code></pre>
  
  <p>The first and second examples work as intended, however, the third example gives me this error:</p>
  
  <pre><code>TypeError: streamplot() got an unexpected keyword argument 'zdir'
  </code></pre>
  
  <p>which hints to the possibility of this not being implemented. If I check <code>Axes3D</code>, the function <code>streamplot()</code> I get:</p>
  
  <pre><code>In [28]: Axes3D.streamplot
  Out[28]: &lt;function matplotlib.axes._axes.Axes.streamplot&gt;
  </code></pre>
  
  <p>From which we get that <code>streamplot()</code> is the 2D version, and hence can't be directly used in 3D plots.</p>
  
  <p>Is there a way to circumvent this and get a streamlines plane in a 3D plot?</p>