Let say I have some 3d equation, something like




I'd like to do a stream plot that is a cross section for some fixed z. Is there a way to do this?

  • $\begingroup$ I'm not quite sure what you mean; since $dz/dt \neq 0$, the stream lines will generally not lie in a plane of fixed $z$. A naive "cross section" would then just be a bunch of points, corresponding to the intersections of each 3D streamline with the fixed-$z$ plane. Can you give an example of a plot somewhere else on the web that could help us visualize what you want? $\endgroup$ Aug 12, 2016 at 17:52

2 Answers 2


You may use SliceVectorPlot3D.

 SliceVectorPlot3D[{y - x, z (y - x), y - z}, 
   {y == 0, z == a}, {x, -1, 1}, {y, -1, 1}, {z, -1, 1}],
 {{a, -1}, -1, 1}]

enter image description here

Hope this helps.

  • $\begingroup$ Interesting, I didn't know you could do that with the Sliced Vector Plot. This is sort of what I was looking for. Thank you! $\endgroup$
    – zalba19
    Aug 19, 2016 at 16:30

By plotting the projection of your vectors on an x-y-plane, like so:

u = y - x
v[z_] = z (y - x)
Manipulate[StreamPlot[{u, v[z]}, {x, -1, 1}, {y, -1, 1}], {z, -1, 1}]

Is this what you're looking for?

  • 1
    $\begingroup$ Projection is a nice idea, but if the lines of StreamPlot represent trajectories over time, then z would be changing throughout that time altering the vector field & trajectories. While the lines have little significance, it seems to me the projected direction field has some meaning. $\endgroup$
    – Michael E2
    Aug 12, 2016 at 19:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.