# ListSliceVectorPlot3D

ListSliceVectorPlot3D[varr,surf]

generates a vector plot from a 3D array varr of vector field values over the slice surface surf.

ListSliceVectorPlot3D[,{surf1,surf2,}]

generates a slice vector plot over several surfaces surf1, surf2, .

# Details and Options

• ListSliceVectorPlot3D evaluates the interpolated field function at values of x, y and z on a surface surf and displays the results as arrows colored by magnitude.
• For regular data, the field function has value varr[[i,j,k]] at .
• For irregular data, has value {vxi,vyi,vzi} at .
• The plot visualizes the set where region reg is the Cartesian product for regular data and the convex hull of {{x1,y1,z1},,{xn,yn,zn}} for irregular data.
• The following basic slice surfaces surfi can be given:
•  Automatic automatically determine slice surfaces "CenterPlanes" coordinate planes through the center "BackPlanes" coordinate planes at the back of the plot "XStackedPlanes" coordinate planes stacked along axis "YStackedPlanes" coordinate planes stacked along axis "ZStackedPlanes" coordinate planes stacked along axis "DiagonalStackedPlanes" planes stacked diagonally "CenterSphere" a sphere in the center "CenterCutSphere" a sphere with a cutout wedge "CenterCutBox" a box with a cutout octant
• ListSliceVectorPlot3D[data] is equivalent to .
• The following parametrizations can be used for basic slice surfaces:
•  {"XStackedPlanes",n}, generate n equally spaced planes {"XStackedPlanes",{x1,x2,…}} generate planes for x=xi {"CenterCutSphere",ϕopen} cut angle ϕopen facing the view point {"CenterCutSphere",ϕopen,ϕcenter} cut angle ϕopen with center angle ϕcenter in -plane
• "YStackedPlanes", "ZStackedPlanes" follow the specifications for "XStackedPlanes", with additional features shown in the scope examples.
• The following general slice surfaces surfi can be used:
•  surfaceregion a two-dimensional region in 3D, e.g. Hyperplane volumeregion a three-dimensional region in 3D where surfi is taken as the boundary surface, e.g. Cuboid
• The following wrappers can be used for slice surfaces surfi:
•  Annotation[surf,label] provide an annotation Style[surf,style] style the surface Button[surf,action] define an action to execute when the surface is clicked EventHandler[surf,…] define a general event handler for the surface Hyperlink[surf,uri] make the surface act as a hyperlink PopupWindow[surf,cont] attach a popup window to the surface StatusArea[surf,label] display in status area when the surface is moused over Tooltip[surf,label] attach an arbitrary tooltip to the surface
• ListSliceVectorPlot3D has the same options as Graphics3D, with the following additions and changes: [List of all options]
•  Axes True whether to draw axes BoundaryStyle Automatic how to style surface boundaries BoxRatios {1,1,1} ratio of height to width ClippingStyle Automatic how to display arrows outside the vector range DataRange Automatic the range of x, y, and z values to assume for data Method Automatic methods to use for the plot PerformanceGoal \$PerformanceGoal aspects of performance to try to optimize PlotPoints Automatic approximate number of samples for the slice surfaces surfi in each direction PlotRange {Full,Full,Full} range of x, y, z values to include PlotRangePadding Automatic how much to pad the range of values PlotStyle Automatic style directives for each slice surface PlotTheme \$PlotTheme overall theme for the plot RegionBoundaryStyle None how to style plot region boundaries RegionFunction (True&) determine what region to include ScalingFunctions None how to scale axes TargetUnits Automatic desired units to use VectorAspectRatio Automatic width-to-length ratio for arrows VectorColorFunction Automatic how to color vectors VectorColorFunctionScaling True whether to scale the argument to VectorColorFunction VectorMarkers Automatic the shape of the arrows VectorPoints Automatic the number or placement of vectors to plot VectorRange Automatic range of vector lengths to show VectorScaling None how to scale the sizes of arrows VectorSizes Automatic sizes of displayed arrows VectorStyle Automatic how to draw vectors
• VectorScaling scales the magnitudes of the vectors into the range of arrow sizes smin to smax given by VectorSizes.
• will scale the arrow lengths depending on the vector magnitudes:
• RegionFunction is supplied with x, y, z, vx, vy, vz, Norm[{vx,vy,vz}].
• VectorColorFunction is by default supplied with scaled x, y, z, vx, vy, vz, Norm[{vx,vy,vz}].
• For an array of dimension {r,s,t,3}, the setting is equivalent to DataRange{{1,r},{1,s},{1,t}}.
• Slice surfaces can be styled using a Style wrapper and PlotStyle option with the Style wrapper taking precedence over PlotStyle. None can be used to indicate that no slice surface should be shown.
• Possible settings for ScalingFunctions include:
•  {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
• ## List of all options

•  AlignmentPoint Center the default point in the graphic to align with AspectRatio Automatic ratio of height to width Axes True 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 BoundaryStyle Automatic how to style surface boundaries Boxed True whether to draw the bounding box BoxRatios {1,1,1} ratio of height to width BoxStyle {} style specifications for the box ClippingStyle Automatic how to display arrows outside the vector range 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 DataRange Automatic the range of x, y, and z values to assume for data 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 PlotPoints Automatic approximate number of samples for the slice surfaces surfi in each direction 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 PlotStyle Automatic style directives for each slice surface 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 None 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 axes SphericalRegion Automatic whether to make the circumscribing sphere fit in the final display area TargetUnits Automatic desired units to use Ticks Automatic specification for ticks TicksStyle {} style specification for ticks TouchscreenAutoZoom False whether to zoom to fullscreen when activated on a touchscreen VectorAspectRatio Automatic width-to-length ratio for arrows VectorColorFunction Automatic how to color vectors VectorColorFunctionScaling True whether to scale the argument to VectorColorFunction VectorMarkers Automatic the shape of the arrows VectorPoints Automatic the number or placement of vectors to plot VectorRange Automatic range of vector lengths to show VectorScaling None how to scale the sizes of arrows VectorSizes Automatic sizes of displayed arrows VectorStyle Automatic how to draw vectors 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

# Examples

open allclose all

## Basic Examples(2)

Plot a vector field over a surface:

Use a general slice surface:

## Scope(21)

### Surfaces(9)

Generate a plot over standard slice surfaces:

Standard axis-aligned stacked slice surfaces:

Standard boundary surfaces:

Plot over any surface region:

A volume slice region is equivalent to plotting over RegionBoundary[reg]:

Plot over the surface :

Plot over multiple slice surfaces:

Specify the number of stacked planes:

Specify the cutting angle for a center-cut sphere slice:

### Data(4)

For regular data consisting of vectors, the , , and data reflects its positions in the array:

Provide explicit , , and data ranges by using DataRange:

Use VectorPoints to specify the number of arrows:

Plot a vector field given by QuantityArray:

Use RegionFunction to expose obscured slices:

### Presentation(8)

Use PlotTheme to immediately get overall styling:

Control the display of axes with Axes:

Label axes using AxesLabel and the whole plot using PlotLabel:

Color the vectors by their magnitude with VectorColorFunction:

Use VectorStyle to control the shape of the vectors:

Scale to reflect vector magnitudes:

Style the slice surface boundaries with BoundaryStyle:

TargetUnits specifies which units to use in the visualization:

## Options(48)

### BoundaryStyle(1)

Style the surface boundaries:

### BoxRatios(3)

By default, the edges of the bounding box have the same length:

Use to show the natural scale of the 3D coordinate values:

Use custom length ratios for each side of the bounding box:

### ClippingStyle(4)

By default, clipped vectors are given a constant color that is consistent with the minimum or maximum vector lengths given by VectorRange:

Suppress the clipped vectors:

Style the clipped vectors:

Style the short and long clipped vectors differently:

### DataRange(2)

By default, the data range is taken to be the dimension of the array:

Explicitly specify the data range:

### PerformanceGoal(2)

Generate a higher-quality plot:

Emphasize performance, possibly at the cost of quality:

### PlotLegends(1)

Use a legend to indicate vector magnitudes:

### PlotRange(2)

Show All vectors by default:

Show a select range:

Padding is computed automatically by default:

Specify no padding for all , , and ranges:

Specify an explicit padding for all , , and ranges:

### PlotTheme(3)

Use a theme:

Regular options override PlotTheme settings, in this case turning off FaceGrids:

Compare different plot themes:

### RegionFunction(2)

Use RegionFunction to specify what regions of the slice surfaces to include:

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

### VectorColorFunction(5)

By default, vectors are colored according to their norm:

Change the color function:

Use any named color gradient from ColorData:

Color the vectors according to their value:

Use to get unscaled values:

### VectorColorFunctionScaling(3)

By default, scaled values are used:

Use to get unscaled values:

Explicitly specify the scaling for each color function argument:

### VectorMarkers(2)

The default vector marker is "Arrow3D":

Use other named markers:

### VectorPoints(3)

Use automatically determined vector points:

Use symbolic names to specify the set of field vectors:

Create a regular grid of field vectors with the same number of arrows for , , and :

### VectorRange(3)

Specify the range of vector norms that are displayed with varying color:

Combine with ClippingStyle to remove the clipped vectors:

Or specify a different style for clipped vectors:

### VectorScaling(3)

By default, arrows are displayed with a constant length:

Use Automatic to scale arrows proportionally to the corresponding vector norm:

Use VectorSizes to specify the range of relative lengths of the arrows:

### VectorSizes(2)

Make the vectors half of the default size:

With VectorScaling, VectorSizes controls the range of the lengths of the arrows relative to the default size:

### VectorStyle(1)

VectorColorFunction has precedence over VectorStyle:

### TargetUnits(1)

Specify which units to use in the visualization:

## Applications(7)

### Basic Vector Fields(3)

Constant vector fields from data:

A circulating flow from data:

Divergent flow:

Convergent flow:

### Image Processing(1)

Visualize the gradient vectors of a 3D image:

Compute the vector orientations:

Convert to vector data:

Show the vectors with the image:

### Fluid Dynamics(2)

Visualize Hill's spherical vortex, with vortex radius and velocity :

Compute velocity vectors:

Visualize the vortex by coloring based on the flow speed:

Visualize the divergence-free field of a scalar function :

Visualize the vortices formed by these fields:

Observe the gradient field superimposed on a density plot of a function:

## Properties & Relations(8)

Use ListVectorPlot3D for a full volume visualization of the vector field:

Use SliceVectorPlot3D for functions:

Use ListVectorPlot for vector plots in 2D:

Use ListVectorDisplacementPlot or ListVectorDisplacementPlot3D to visualize displacement fields in 2D or 3D:

Use ListStreamPlot or ListLineIntegralConvolutionPlot for vector fields in 2D:

Use ListVectorDensityPlot or ListStreamDensityPlot to include a scalar field in 2D:

Use ListStreamPlot3D to visualize 3D vector field data as streamlines:

Use GeoVectorPlot to plot vectors on a map:

Use GeoStreamPlot to plot streams instead of vectors:

Wolfram Research (2015), ListSliceVectorPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ListSliceVectorPlot3D.html (updated 2022).

#### Text

Wolfram Research (2015), ListSliceVectorPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ListSliceVectorPlot3D.html (updated 2022).

#### CMS

Wolfram Language. 2015. "ListSliceVectorPlot3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/ListSliceVectorPlot3D.html.

#### APA

Wolfram Language. (2015). ListSliceVectorPlot3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ListSliceVectorPlot3D.html

#### BibTeX

@misc{reference.wolfram_2024_listslicevectorplot3d, author="Wolfram Research", title="{ListSliceVectorPlot3D}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/ListSliceVectorPlot3D.html}", note=[Accessed: 21-June-2024 ]}

#### BibLaTeX

@online{reference.wolfram_2024_listslicevectorplot3d, organization={Wolfram Research}, title={ListSliceVectorPlot3D}, year={2022}, url={https://reference.wolfram.com/language/ref/ListSliceVectorPlot3D.html}, note=[Accessed: 21-June-2024 ]}