ListStreamPlot3D
✖
ListStreamPlot3D
Details and Options




- ListStreamPlot3D is known as a 3D stream plot or streamline plot. Besides lines, streamlines can also be displayed as tubes (stream tubes) and ribbons (stream ribbons).
- ListStreamPlot3D plots streamlines
defined by
and
where
is an interpolated function of the vector data and
is an initial stream point. The streamline
is the curve passing through point
, and whose tangents correspond to the vector field
at each point.
- The streamlines are colored by default according to the magnitude
of the vector field
and have an arrow in the direction of increasing value of
.
- The vector field
has value varr〚i,j,k〛 at
.
- The varr represents vectors in a volume, where by default, the point {k,j,i} is taken to have the vector varr〚i,j,k〛 with 1≤i≤r, 1≤j≤s and 1≤k≤t for an array of dimension {r,s,t,3}.
- ListStreamPlot3D by default shows enough streamlines to achieve a roughly uniform density throughout the plot and shows no background scalar field.
- ListStreamPlot3D has the same options as Graphics3D, with the following additions and changes: [List of all options]
-
BoxRatios {1,1,1} ratio of height to width Method Automatic methods to use for the plot PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLegends None legends to include PlotRange {Full,Full,Full} range of x, y, z values to include PlotRangePadding Automatic how much to pad the range of values PlotTheme $PlotTheme overall theme for the plot RegionBoundaryStyle Automatic how to style plot region boundaries RegionFunction True& determine what region to include ScalingFunctions None how to scale individual coordinates StreamColorFunction Automatic how to color streamlines StreamColorFunctionScaling True whether to scale the argument to StreamColorFunction StreamMarkers Automatic shape to use for streams StreamPoints Automatic the number or placement of streamlines StreamScale None how to scale the sizes of streamlines StreamStyle Automatic how to draw streamlines - The arguments supplied to functions in RegionFunction and ColorFunction are x,y,z,vx,vy,vz,Norm[{vx,vy,vz}].
- Possible settings for StreamMarkers include:
-
"Arrow" lines with 2D arrowheads "Arrow3D" tubes with 3D arrowheads "Line" lines "Tube" tubes "Ribbon" flat ribbons "ArrowRibbon" ribbons with built-in arrowheads - With StreamScaleAutomatic and "arrow" stream markers, the streamlines are split into segments to make it easier to see the direction of the streamlines.
- Possible settings for StreamScale are:
-
Automatic automatically determine the streamline segments Full show the streamline as one piece Tiny,Small,Medium,Large named settings for how long the segments should be {len,npts,ratio} use explicit specification of streamline segmentation - The length len of streamline segments can be one of the following forms:
-
Automatic automatically determine the length None show the streamline as one piece Tiny,Small,Medium,Large use named segment lengths s use a length s that is a fraction of the graphic size - The number of points npts used to draw each segment can be Automatic or a specific number of points.
- The aspect ratio ratio specifies how wide the cross section of a streamline is relative to the streamline segment.
- Possible settings for ScalingFunctions are:
-
{sx,sy,sz} scale x, y and z axes - Common built-in scaling functions s include:
-
"Log" log scale with automatic tick labeling "Log10" base-10 log scale with powers of 10 for ticks "SignedLog" log-like scale that includes 0 and negative numbers "Reverse" reverse the coordinate direction "Infinite" infinite scale -
AlignmentPoint Center the default point in the graphic to align with AspectRatio Automatic ratio of height to width Axes False whether to draw axes AxesEdge Automatic on which edges to put axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} graphics directives to specify the style for axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic Boxed True whether to draw the bounding box BoxRatios {1,1,1} ratio of height to width BoxStyle {} style specifications for the box ClipPlanes None clipping planes ClipPlanesStyle Automatic style specifications for clipping planes ContentSelectable Automatic whether to allow contents to be selected ControllerLinking False when to link to external rotation controllers ControllerPath Automatic what external controllers to try to use Epilog {} 2D graphics primitives to be rendered after the main plot FaceGrids None grid lines to draw on the bounding box FaceGridsStyle {} style specifications for face grids FormatType TraditionalForm default format type for text ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels, etc. ImageSize Automatic absolute size at which to render the graphic LabelStyle {} style specifications for labels Lighting Automatic simulated light sources to use Method Automatic methods to use for the plot PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLabel None a label for the plot PlotLegends None legends to include PlotRange {Full,Full,Full} range of x, y, z values to include PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic final display region to be filled PlotTheme $PlotTheme overall theme for the plot PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} 2D graphics primitives to be rendered before the main plot RegionBoundaryStyle Automatic how to style plot region boundaries RegionFunction True& determine what region to include RotationAction "Fit" how to render after interactive rotation ScalingFunctions None how to scale individual coordinates SphericalRegion Automatic whether to make the circumscribing sphere fit in the final display area StreamColorFunction Automatic how to color streamlines StreamColorFunctionScaling True whether to scale the argument to StreamColorFunction StreamMarkers Automatic shape to use for streams StreamPoints Automatic the number or placement of streamlines StreamScale None how to scale the sizes of streamlines StreamStyle Automatic how to draw streamlines Ticks Automatic specification for ticks TicksStyle {} style specification for ticks TouchscreenAutoZoom False whether to zoom to fullscreen when activated on a touchscreen ViewAngle Automatic angle of the field of view ViewCenter Automatic point to display at the center ViewMatrix Automatic explicit transformation matrix ViewPoint {1.3,-2.4,2.} viewing position ViewProjection Automatic projection method for rendering objects distant from the viewer ViewRange All range of viewing distances to include ViewVector Automatic position and direction of a simulated camera ViewVertical {0,0,1} direction to make vertical


List of all options




Examples
open allclose allBasic Examples (4)Summary of the most common use cases
Plot the vector field interpolated from a specified set of vectors:

https://wolfram.com/xid/0mleptnloyc4-e8vvkn

Include a legend showing the field strength:

https://wolfram.com/xid/0mleptnloyc4-rnodpc

Use tubes to represent the streamlines:

https://wolfram.com/xid/0mleptnloyc4-62np7l

Specify the range of the data:

https://wolfram.com/xid/0mleptnloyc4-e6g19h

Scope (12)Survey of the scope of standard use cases
Sampling (3)
Specify the density of seed points for the streamlines:

https://wolfram.com/xid/0mleptnloyc4-e9ypso

Specify specific seed points for the streamlines:

https://wolfram.com/xid/0mleptnloyc4-csicye

Plot streamlines over a specified region:

https://wolfram.com/xid/0mleptnloyc4-gwt1ft

Presentation (9)
Streamlines are drawn as lines by default:

https://wolfram.com/xid/0mleptnloyc4-bw2pam

Use 3D tubes for the streamlines:

https://wolfram.com/xid/0mleptnloyc4-7m7d


https://wolfram.com/xid/0mleptnloyc4-g0nth

Use "arrow" versions of the stream markers to indicate the direction of flow along the streamlines:

https://wolfram.com/xid/0mleptnloyc4-b3f0u1


https://wolfram.com/xid/0mleptnloyc4-bq0uve

Ribbons are turned into arrows by tapering the heads and notching the tails of the streamlines:

https://wolfram.com/xid/0mleptnloyc4-fwyxcs

Use a single color for the streamlines:

https://wolfram.com/xid/0mleptnloyc4-so87e

Use a named color gradient for the streamlines:

https://wolfram.com/xid/0mleptnloyc4-ityi3k

Include a legend for the field magnitude:

https://wolfram.com/xid/0mleptnloyc4-f9ayy6

Use StreamScale to split streamlines into multiple shorter line segments:

https://wolfram.com/xid/0mleptnloyc4-n6i8gu


https://wolfram.com/xid/0mleptnloyc4-elvwn5

Increase the number of points in each segment and increase the marker aspect ratio:

https://wolfram.com/xid/0mleptnloyc4-kkq86


https://wolfram.com/xid/0mleptnloyc4-dbt4qc

Use a log scale in the z direction:

https://wolfram.com/xid/0mleptnloyc4-viyi3y

Options (46)Common values & functionality for each option
BoxRatios (2)
DataRange (2)
PlotLegends (3)
No legends are included by default:

https://wolfram.com/xid/0mleptnloyc4-75qde

Include a legend that indicates the vector field norm:

https://wolfram.com/xid/0mleptnloyc4-gnf6jh

Specify the location of the legend:

https://wolfram.com/xid/0mleptnloyc4-i1muui

RegionBoundaryStyle (4)
Show the region defined by a RegionFunction:

https://wolfram.com/xid/0mleptnloyc4-lpb4gt

Use None to avoid showing the boundary:

https://wolfram.com/xid/0mleptnloyc4-ybl6d

Specify the color of the region boundary:

https://wolfram.com/xid/0mleptnloyc4-jwww4

The boundaries of full rectangular regions are not shown:

https://wolfram.com/xid/0mleptnloyc4-k2tk4k

RegionFunction (4)
Plot streamlines in a restricted region:

https://wolfram.com/xid/0mleptnloyc4-e913s3

Plot streams only where the field magnitude exceeds a given threshold:

https://wolfram.com/xid/0mleptnloyc4-b756er

Region functions depend, in general, on seven arguments:

https://wolfram.com/xid/0mleptnloyc4-n7zpbt

Use RegionBoundaryStyleNone to avoid showing the boundary:

https://wolfram.com/xid/0mleptnloyc4-nferi3

ScalingFunctions (3)
By default, linear scales are used:

https://wolfram.com/xid/0mleptnloyc4-2ilnyj

Use a log scale in the z direction:

https://wolfram.com/xid/0mleptnloyc4-6f1mqz

Reverse the direction of the z direction:

https://wolfram.com/xid/0mleptnloyc4-lx0ac7

StreamColorFunction (4)
Color the streams by their norm:

https://wolfram.com/xid/0mleptnloyc4-dos10y

Use any named color gradient from ColorData:

https://wolfram.com/xid/0mleptnloyc4-dix2z4

Color the streamlines according to their x value:

https://wolfram.com/xid/0mleptnloyc4-baxhd

Use StreamColorFunctionScalingFalse to get unscaled values:

https://wolfram.com/xid/0mleptnloyc4-bqwww

StreamColorFunctionScaling (2)
By default, scaled values are used:

https://wolfram.com/xid/0mleptnloyc4-eraxk2

Use StreamColorFunctionScalingFalse to get unscaled values:

https://wolfram.com/xid/0mleptnloyc4-h9o47j

StreamMarkers (5)

https://wolfram.com/xid/0mleptnloyc4-g2fr7d

Draw the streamlines as tubes:

https://wolfram.com/xid/0mleptnloyc4-q7fzf


https://wolfram.com/xid/0mleptnloyc4-f6j8qj

"Arrow" stream markers automatically break the streamlines into shorter segments:

https://wolfram.com/xid/0mleptnloyc4-dam3hv


https://wolfram.com/xid/0mleptnloyc4-ijlbu2


https://wolfram.com/xid/0mleptnloyc4-fr06nz

Make segmented markers continuous:

https://wolfram.com/xid/0mleptnloyc4-4qo8g

Break continuous markers into segments:

https://wolfram.com/xid/0mleptnloyc4-deh6ci

StreamPoints (4)
Use automatically determined stream points to seed the curves:

https://wolfram.com/xid/0mleptnloyc4-jozcu

Specify a maximum number of streamlines:

https://wolfram.com/xid/0mleptnloyc4-b07nkl

Give specific seed points for the streams:

https://wolfram.com/xid/0mleptnloyc4-gu5k58

Use coarsely spaced streamlines:

https://wolfram.com/xid/0mleptnloyc4-wzm84

Use more finely spaced streamlines:

https://wolfram.com/xid/0mleptnloyc4-m4gg5b

StreamScale (9)
Segmented markers have default lengths, numbers of points and aspect ratios:

https://wolfram.com/xid/0mleptnloyc4-h5ee5z

Modify the lengths of the segments:

https://wolfram.com/xid/0mleptnloyc4-epg40

Specify the number of sample points in each segment:

https://wolfram.com/xid/0mleptnloyc4-hkp2ff

Modify the aspect ratios for the stream markers:

https://wolfram.com/xid/0mleptnloyc4-qmt1tw

Make segmented markers continuous:

https://wolfram.com/xid/0mleptnloyc4-ed2z70

Break continuous markers into segments:

https://wolfram.com/xid/0mleptnloyc4-fsbg7z

The aspect ratio controls the thickness of ribbons and tubes:

https://wolfram.com/xid/0mleptnloyc4-b3hyyy


https://wolfram.com/xid/0mleptnloyc4-yovu5


https://wolfram.com/xid/0mleptnloyc4-cuskj5

The aspect ratio controls the sizes of arrowheads:

https://wolfram.com/xid/0mleptnloyc4-f7rydb

Use three points in each segment:

https://wolfram.com/xid/0mleptnloyc4-u49cd

StreamStyle (3)
Change the appearance of the streamlines:

https://wolfram.com/xid/0mleptnloyc4-ch7762

StreamColorFunction takes precedence over StreamStyle:

https://wolfram.com/xid/0mleptnloyc4-csq2eq

Use StreamColorFunctionNone to specify a streamline color with StreamStyle:

https://wolfram.com/xid/0mleptnloyc4-kwj4x

Applications (2)Sample problems that can be solved with this function
Numerically compute the electric field at a sampling of points under the influence of two thin wires of finite length with equal constant charge densities and opposite signs:

https://wolfram.com/xid/0mleptnloyc4-i7gly8
Visualize the electric field along with the positively charged (black) and the negatively charged (red) wires:

https://wolfram.com/xid/0mleptnloyc4-b7bf2h

Visualize time-independent heat flow in a unit cube. Consider the steady-state heat equation for the temperature
on the unit cube with
on the
face, insulated on the
,
,
and
faces,
inside a centered disk of radius 0.3 on the
face and
outside the disk as shown in the following:

https://wolfram.com/xid/0mleptnloyc4-evhwcd
Use finite differences to discretize the heat equation :

https://wolfram.com/xid/0mleptnloyc4-crqzr1
Specify boundary conditions for on the
and
faces:

https://wolfram.com/xid/0mleptnloyc4-evzoji
Specify the insulated boundary conditions for on the other faces:

https://wolfram.com/xid/0mleptnloyc4-pa81f
Solve the system of equations:

https://wolfram.com/xid/0mleptnloyc4-2ik9j
Use finite differences to approximate the heat flux:

https://wolfram.com/xid/0mleptnloyc4-ibka0c
Generate seed points for the streamlines on the face:

https://wolfram.com/xid/0mleptnloyc4-cpynt5
Generate seed points for the streamlines in the red disk on the face:

https://wolfram.com/xid/0mleptnloyc4-cyr5z6
Visualize the heat flow. The boundary temperatures are specified in the legend, and the blank faces of the cube are insulated:

https://wolfram.com/xid/0mleptnloyc4-cltfsl

Properties & Relations (10)Properties of the function, and connections to other functions
Use StreamPlot3D and VectorPlot3D to visualize functions:

https://wolfram.com/xid/0mleptnloyc4-ii6evm

Use StreamPlot and VectorPlot to visualize functions in 2D:

https://wolfram.com/xid/0mleptnloyc4-bkssgh

Plot vectors along surfaces with ListSliceVectorPlot3D:

https://wolfram.com/xid/0mleptnloyc4-yteue9

https://wolfram.com/xid/0mleptnloyc4-ckcmzh

Use ListVectorPlot3D to plot a 3D field as discrete vectors:

https://wolfram.com/xid/0mleptnloyc4-zulpgv

https://wolfram.com/xid/0mleptnloyc4-pf9j5n

Use ListVectorPlot for plotting 2D vectors:

https://wolfram.com/xid/0mleptnloyc4-sfy7fj

https://wolfram.com/xid/0mleptnloyc4-bzenb8

Use ListStreamPlot to plot with streamlines instead of vectors:

https://wolfram.com/xid/0mleptnloyc4-g2uz6q

https://wolfram.com/xid/0mleptnloyc4-ey0nl

Use ListVectorDensityPlot or ListStreamDensityPlot to add a density plot of a scalar field:

https://wolfram.com/xid/0mleptnloyc4-dbwex0

https://wolfram.com/xid/0mleptnloyc4-gljrl7

Use ListVectorDisplacementPlot to visualize the deformation of a region associated with a displacement vector field:

https://wolfram.com/xid/0mleptnloyc4-ipmneh

https://wolfram.com/xid/0mleptnloyc4-f2ri93

https://wolfram.com/xid/0mleptnloyc4-b6mu3

Use ListVectorDisplacementPlot3D to visualize a deformation in 3D:

https://wolfram.com/xid/0mleptnloyc4-hdvg2m

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

https://wolfram.com/xid/0mleptnloyc4-v1fiv1

https://wolfram.com/xid/0mleptnloyc4-biddpp

Use GeoVectorPlot to plot vectors on a map:

https://wolfram.com/xid/0mleptnloyc4-d0ztmc

Use GeoStreamPlot to plot streamlines instead of vectors:

https://wolfram.com/xid/0mleptnloyc4-eiz6c4

Possible Issues (2)Common pitfalls and unexpected behavior
Tube StreamMarkers can be distorted by the BoxRatios:

https://wolfram.com/xid/0mleptnloyc4-g75pux

https://wolfram.com/xid/0mleptnloyc4-u7hda

Carefully adjusting the BoxRatios can eliminate the tube distortion:

https://wolfram.com/xid/0mleptnloyc4-l9nwu

The colors of "Arrow" and "Arrow3D" stream markers are determined at the tip of the arrow, which can result in inconsistent colors for long arrows:

https://wolfram.com/xid/0mleptnloyc4-7vkzb


https://wolfram.com/xid/0mleptnloyc4-fgw6hj

Wolfram Research (2021), ListStreamPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ListStreamPlot3D.html (updated 2022).
Text
Wolfram Research (2021), ListStreamPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ListStreamPlot3D.html (updated 2022).
Wolfram Research (2021), ListStreamPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ListStreamPlot3D.html (updated 2022).
CMS
Wolfram Language. 2021. "ListStreamPlot3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/ListStreamPlot3D.html.
Wolfram Language. 2021. "ListStreamPlot3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/ListStreamPlot3D.html.
APA
Wolfram Language. (2021). ListStreamPlot3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ListStreamPlot3D.html
Wolfram Language. (2021). ListStreamPlot3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ListStreamPlot3D.html
BibTeX
@misc{reference.wolfram_2025_liststreamplot3d, author="Wolfram Research", title="{ListStreamPlot3D}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/ListStreamPlot3D.html}", note=[Accessed: 04-June-2025
]}
BibLaTeX
@online{reference.wolfram_2025_liststreamplot3d, organization={Wolfram Research}, title={ListStreamPlot3D}, year={2022}, url={https://reference.wolfram.com/language/ref/ListStreamPlot3D.html}, note=[Accessed: 04-June-2025
]}