# VectorPlot3D

VectorPlot3D[{vx,vy,vz},{x,xmin,xmax},{y,ymin,ymax},{z,zmin,zmax}]

generates a 3D vector plot of the vector field {vx,vy,vz} as a function of x, y, and z.

VectorPlot3D[{field1,field2,},{x,xmin,xmax},{y,ymin,ymax},{z,zmin,zmax}]

plots several vector fields.

VectorPlot3D[,{x,y,z}reg]

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

# Details and Options

• VectorPlot3D is also known as field plot, quiver plot and direction plot.
• VectorPlot3D displays a vector field by drawing arrows normalized to a fixed length. The arrows are colored by default according to the magnitude of the vector field.
• The plot visualizes the set .
• VectorPlot3D by default shows vectors from the vector field at a specified grid of 3D positions.
• VectorPlot3D omits any arrows for which the vi etc. do not evaluate to real numbers.
• The region reg can be any RegionQ object in 3D.
• VectorPlot3D treats the variables x, y and z as local, effectively using Block.
• VectorPlot3D has attribute HoldAll and evaluates the vi etc. only after assigning specific numerical values to x, y and z. In some cases, it may be more efficient to use Evaluate to evaluate the vi etc. symbolically first.
• VectorPlot3D 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 ClippingStyle Automatic how to display arrows outside the vector range EvaluationMonitor None expression to evaluate at every function evaluation 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 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 shape to use for arrows VectorPoints Automatic the number or placement of arrows 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 arrows WorkingPrecision MachinePrecision precision to use in internal computations
• The individual arrows are scaled to fit inside bounding balls around each point.
• 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:
• Common markers include:
•  "Arrow3D" 3D arrow-shaped marker "Arrow" 2D arrow-shaped marker "Tube" tube segment aligned in the field direction "Segment" line segment aligned in the field direction
• will draw the arrows with the style specified by VectorStyle.
• The arguments supplied to functions in RegionFunction and VectorColorFunction are x, y, z, vx, vy, vz, Norm[{vx,vy,vz}].
• 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 "Infinite" infinite scale
• ## List of all options

•  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 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 Epilog {} 2D graphics primitives to be rendered after the main plot EvaluationMonitor None expression to evaluate at every function evaluation 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 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 shape to use for arrows VectorPoints Automatic the number or placement of arrows 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 arrows 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 WorkingPrecision MachinePrecision precision to use in internal computations

# Examples

open allclose all

## Basic Examples(4)

Plot a vector field:

Include a legend for the vector magnitudes:

Use tube segments as markers to represent the vectors:

Plot a vector field inside the unit ball:

## Scope(14)

### Sampling(5)

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

Plot vectors over specified regions:

Plot a vector field with vectors placed with specified densities:

Plot a field with arrows placed at random locations:

Plot multiple vector fields with different colors for each field:

### Presentation(9)

Plot a vector field with arrows scaled according to their magnitudes:

Use a single color for the arrows:

Plot with 3D arrows:

Color and scale the vectors based on the norm of the field:

Plot a vector field with arrows of specified size:

Vary the arrow length and arrowhead size:

Include a legend:

Use a highly stylized theme:

Use a log scale for the x axis:

Reverse the y scale so it increases toward the bottom:

## Options(65)

### BoxRatios(2)

By default, BoxRatios is set to Automatic:

Make the height appear twice the width and length:

### EvaluationMonitor(2)

Show where the function is sampled:

Count how many times the vector field function is evaluated:

### PerformanceGoal(2)

Generate a higher-quality plot:

Emphasize performance, possibly at the cost of quality:

### PlotLegends(5)

No legends are included by default:

Add a legend that indicates vector norms:

Include a legend for two fields:

Include the vector fields in the legend:

Control the placement of the legend:

### PlotRange(9)

The full plot range is used by default:

Use all points to compute the range:

Specify an explicit limit for , , and ranges:

Specify an explicit range:

Specify an explicit minimum range:

Specify an explicit range:

Specify an explicit maximum range:

Specify an explicit range:

Specify different , , and ranges:

Padding is computed automatically by default:

Specify no padding for all , , and ranges:

Specify an explicit padding for all , , and ranges:

Specify different padding for , , and ranges:

Use different padding forms for each dimension:

### PlotTheme(2)

Use a theme with dense vector points and legends:

Reduce the number of vector points:

### RegionBoundaryStyle(5)

Show the region defined by a region function:

Use None to not show the boundary:

Specify a style for the boundary:

The boundaries of full rectangular regions are not shown:

Specify a style for full rectangular regions:

### RegionFunction(3)

Plot vectors only over certain quadrants:

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

Use any logical combination of conditions:

### ScalingFunctions(1)

Use a log scale for the x axis:

Reverse the y scale so it increases toward the bottom:

### VectorAspectRatio(2)

The default aspect ratio for a vector marker is 1/4:

Increase the relative width of a vector marker:

### VectorColorFunction(4)

Color the vectors according to their norm:

Use any named color gradient from ColorData:

Color the vectors according to their value:

Use to get unscaled values:

### VectorColorFunctionScaling(4)

By default, scaled values are used:

Use to get unscaled values:

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

Explicitly specify the scaling for each color function argument:

### VectorMarkers(3)

By default, 3D arrows are used:

Use other named markers:

Use Placed to control the arrow placement relative to the vector points:

### VectorPoints(7)

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 :

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

Specify a list of points for showing field vectors:

Use a different number of field vectors on a packed grid:

The location for vectors is given in the middle of the drawn vector:

Start the vectors at the points:

### VectorRange(4)

The clipping of vectors with very small or very large magnitudes is done automatically:

Specify the range of vector norms:

Suppress the clipped vectors:

Show all the vectors:

### VectorStyle(2)

VectorColorFunction takes precedence over colors in VectorStyle:

Use to specify colors with VectorStyle:

## Applications(1)

An electrostatic potential built from a collection of point charges at positions :

An electric field between two charges and :

The electrostatic potential between two charges and :

The electric field between two charges and :

Combine both visualizations:

## Properties & Relations(14)

Use ListVectorPlot3D to visualize data:

Plot vectors along surfaces with SliceVectorPlot3D:

Plot data vectors on surfaces with ListSliceVectorPlot3D:

Use StreamPlot3D to plot streamlines for a 3D vector field:

Use ListStreamPlot3D to plot with data:

Use VectorDisplacementPlot to visualize the effect of a displacement vector field on a specified region:

Use ListVectorDisplacementPlot to visualize the effect of displacement field data on a region:

Use VectorDisplacementPlot3D to visualize the effect of a displacement vector field on a specified 3D region:

Use ListVectorDisplacementPlot3D to visualize the effect of 3D displacement vector field data on a specified region:

Use VectorPlot for plotting 2D vectors:

Use ListVectorPlot to plot with data:

Use StreamPlot to plot with streamlines instead of vectors:

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

Use StreamDensityPlot to plot streamlines instead of vectors:

Use ListVectorDensityPlot or ListStreamDensityPlot for plotting data:

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

Plot a complex function as a vector field:

Plot streams instead of vectors with ComplexStreamPlot:

Use GeoVectorPlot to generate a vector plot over the Earth:

Use GeoStreamPlot to use streams instead of vectors:

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

#### Text

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

#### CMS

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

#### APA

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

#### BibTeX

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

#### BibLaTeX

@online{reference.wolfram_2024_vectorplot3d, organization={Wolfram Research}, title={VectorPlot3D}, year={2022}, url={https://reference.wolfram.com/language/ref/VectorPlot3D.html}, note=[Accessed: 25-April-2024 ]}