StreamPlot

StreamPlot[{vx,vy},{x,xmin,xmax},{y,ymin,ymax}]

generates a stream plot of the vector field {vx,vy} as a function of x and y.

StreamPlot[{{vx,vy},{wx,wy},},{x,xmin,xmax},{y,ymin,ymax}]

generates plots of several vector fields.

StreamPlot[,{x,y}reg]

takes the variables {x,y} to be in the geometric region reg.

Details and Options

Examples

open allclose all

Basic Examples  (2)

Plot the streamlines with arrows for the field :

Plot the streamlines with arrows for two fields:

Scope  (21)

Sampling  (10)

Plot a vector field with streamlines placed with specified densities:

Plot the streamlines that go through a set of seed points:

Use both automatic and explicit seeding with styles for explicitly seeded streamlines:

Plot streamlines over a specified region:

Plot multiple vector fields:

Use a specific number of mesh lines:

Specify specific mesh lines:

Use Evaluate to evaluate the vector field symbolically before numeric assignment:

The domain may be specified by a region:

The domain may be specified by a MeshRegion:

Presentation  (11)

Specify different dashings and arrowheads by setting to StreamScale:

Plot the streamlines with arrows colored according to the magnitude of the field:

Apply a variety of streamline styles:

Use a theme with axes and a different default color:

Override the style from the theme:

Use a named appearance to draw the streamlines:

Style the streamlines as well:

Plot vectors and streamlines together:

Specify mesh lines with different styles:

Specify global mesh line styles:

Shade mesh regions cyclically:

Apply a variety of styles to region boundaries:

Add a legend with placeholder text:

Use the vector fields as legend labels:

Use explicit labels for each vector field:

Options  (72)

AspectRatio  (2)

By default, the aspect ratio is 1:

Set the aspect ratio:

Background  (1)

Use colored backgrounds:

EvaluationMonitor  (2)

Show where the vector field function is sampled:

Count the number of times the vector field function is evaluated:

FrameLabel  (1)

Label the axes:

Mesh  (5)

By default, no mesh lines are displayed:

Show the final sampling mesh:

Use a specific number of mesh lines:

Specify mesh lines:

Use different styles for different mesh lines:

MeshFunctions  (3)

By default, mesh lines correspond to the magnitude of the field:

Use the value as the mesh function:

Use mesh lines corresponding to fixed distances from the origin:

MeshShading  (3)

Use None to remove regions:

Styles are used cyclically:

Use indexed colors from ColorData cyclically:

MeshStyle  (1)

Apply a variety of styles to the mesh lines:

PerformanceGoal  (2)

Generate a higher-quality plot:

Emphasize performance, possibly at the cost of quality:

PlotLegends  (4)

No legends are included, by default:

Include a legend:

Control the placement of the legend:

Use the vector fields as the legend text:

Use placeholder text:

Change the appearance of the legend:

PlotRange  (5)

The full plot range is used by default:

Specify an explicit limit for both and ranges:

Specify an explicit range:

Specify an explicit range:

Specify different and ranges:

PlotTheme  (2)

Use a theme with simpler ticks and brighter colors:

Use a theme with automatic legends and dense streamlines:

Change the stream styles:

RegionFunction  (3)

Plot streamlines only over certain quadrants:

Plot streamlines only over regions where the field magnitude is above a given threshold:

Use any logical combination of conditions:

RegionBoundaryStyle  (2)

By default, region boundaries is styled:

Show no boundaries and filling:

Apply a variety of styles to region boundaries:

RegionFillingStyle  (1)

By default, region filling is styled:

Show no filling:

StreamColorFunction  (5)

Color streamlines according to the norm of the vector field:

Use any named color gradient from ColorData:

Use ColorData for predefined color gradients:

Specify a color function that blends two colors by the coordinate:

Use StreamColorFunctionScaling->False to get unscaled values:

StreamColorFunctionScaling  (4)

By default, scaled values are used:

Use StreamColorFunctionScaling->False to get unscaled values:

Use unscaled coordinates in the direction and scaled coordinates in the directions:

Explicitly specify the scaling for each color function argument:

StreamMarkers  (3)

Streamlines are drawn as arrows by default:

Use a named appearance to draw the streamlines:

Use different markers for different vector fields:

StreamPoints  (6)

Specify a specific maximum number of streamlines:

Use symbolic names to specify the number of streamlines:

Use both automatic and explicit seeding with styles for explicitly seeded streamlines:

Specify the minimum distance between streamlines:

Specify the minimum distance between streamlines at the start and end of a streamline:

Control the maximum length that each streamline can have:

StreamScale  (9)

Create full streamlines without segmentation:

Use curves for streamlines:

Use symbolic names to control the lengths of streamlines:

Specify segment lengths:

Specify an explicit dashing pattern for streamlines:

Specify the number of points rendered on each streamline segment:

Specify absolute aspect ratios relative to the longest line segment:

Specify relative aspect ratios relative to each line segment:

Scale the length of the arrows by the coordinate:

StreamStyle  (8)

Apply a variety of styles to the streamlines:

Specify a custom arrowhead:

Set the style for multiple vector fields:

Use named styles:

Named arrow styles:

Named dot styles:

Named pointer styles:

Named dart styles:

Applications  (17)

Streamlines for the gradient field of over the unit square:

Streamlines for the Hamiltonian vector field of :

Streamlines for the Pólya vector field of :

Global attractor of damped conservative system:

Combine several examples into a tabbed view:

Mouse over the tabs to get a description of the vector field:

Quadratic system with two limit cycles:

Van der Pol oscillator:

Characterize linear planar systems interactively:

Use a stream plot as a background for an interactive differential equation:

Unfolding a double zero eigenvalue:

Rotating pendulum:

A two-parameter potential:

Unfolding the elliptic umbilic:

Generate a list of rasterized stream plots for animation:

Animating a list of rasters instead of the original vector graphics may reduce memory usage:

Create an animation that shifts the streamline colors in the direction of the vector norms:

Explore various streamline styles and scales with several examples:

Generate icons to graphically represent field choices:

Click on the field icons to switch field plots:

Generate a list of stream plots of varying :

Stack 2D stream plots in 3D:

Properties & Relations  (8)

Use ListStreamPlot for plotting data:

Use StreamDensityPlot to add a density plot of the scalar field:

Use ListStreamDensityPlot for plotting data with a density plot of the scalar field:

Use VectorPlot to plot with vectors instead of streamlines:

Use LineIntegralConvolutionPlot to plot the line integral convolution of a vector field:

Use VectorPlot3D to visualize 3D vector fields:

Plot vectors along surfaces with SliceVectorPlot3D:

Plot complex numbers as a vector field using streamlines:

Introduced in 2008
 (7.0)
 |
Updated in 2012
 (9.0)
2014
 (10.0)
2018
 (11.3)
2020
 (12.1)