Creates quiver (arrow/vector field) plots showing 2D vector data. Used in physics (force/electric fields), fluid dynamics, and meteorology.
Usage
QuiverPlot(
data,
x,
y,
u,
v,
color_by = NULL,
color_name = NULL,
arrow_scale = 1,
arrow_size = 0.15,
line_width = 0.5,
split_by = NULL,
split_by_sep = "_",
facet_by = NULL,
facet_scales = "fixed",
facet_nrow = NULL,
facet_ncol = NULL,
facet_byrow = TRUE,
theme = "theme_ggforge_grid",
theme_args = list(),
palette = "Spectral",
palcolor = NULL,
alpha = 0.8,
aspect.ratio = 1,
legend.position = "right",
legend.direction = "vertical",
title = NULL,
subtitle = NULL,
xlab = NULL,
ylab = NULL,
seed = 8525,
combine = TRUE,
nrow = NULL,
ncol = NULL,
byrow = TRUE,
axes = NULL,
axis_titles = NULL,
guides = NULL,
design = NULL,
...
)Arguments
- data
A data frame containing the data to plot
- x, y
Column names for arrow origin coordinates.
- u, v
Column names for vector components (dx, dy).
- color_by
Column for arrow coloring (e.g., magnitude). If NULL, auto-computes magnitude.
- color_name
Legend title.
- arrow_scale
Scaling factor for arrow length.
- arrow_size
Size of arrowhead.
- line_width
Arrow line width.
- split_by
Column name(s) to split data into multiple plots
- split_by_sep
Separator when concatenating multiple split_by columns
- facet_by
Column name(s) for faceting the plot
- facet_scales
Scales for facets: "fixed", "free", "free_x", "free_y"
- facet_nrow
Number of rows in facet layout
- facet_ncol
Number of columns in facet layout
- facet_byrow
Fill facets by row (TRUE) or column (FALSE)
- theme
Theme name (string) or theme function
- theme_args
List of arguments passed to theme function
- palette
Color palette name
- palcolor
Custom colors for palette
- alpha
Transparency level (0-1)
- aspect.ratio
Aspect ratio of plot panel
- legend.position
Legend position: "none", "left", "right", "bottom", "top"
- legend.direction
Legend direction: "horizontal" or "vertical"
- title
Plot title
- subtitle
Plot subtitle
- xlab
X-axis label
- ylab
Y-axis label
- seed
Random seed for reproducibility
- combine
Whether to combine split plots into one
- nrow
Number of rows when combining plots
- ncol
Number of columns when combining plots
- byrow
Fill combined plots by row
- axes
How to handle axes in combined plots ("keep", "collect", "collect_x", "collect_y")
- axis_titles
How to handle axis titles in combined plots
- guides
How to handle guides in combined plots ("collect", "keep", "auto")
- design
Custom layout design for combined plots
- ...
Additional arguments passed to atomic plotting functions.
See also
Other physics-engineering-plots:
StreamlinePlot()
Examples
# \donttest{
grid <- expand.grid(x = seq(-2, 2, 0.4), y = seq(-2, 2, 0.4))
grid$u <- -grid$y
grid$v <- grid$x
QuiverPlot(grid, x = "x", y = "y", u = "u", v = "v")
# }
