A tool for making data frames filled with data that displays sine or cosine waves when graphed.
The geom_path
and geom_polygon
geoms are recommended with this data for use in ggplot2
for generative art.
wave_data(
start,
end,
size = 1,
type = "sin",
orientation = "horizontal",
freq = 3,
n_points = 500,
color = NULL,
fill = NULL,
group_var = FALSE,
dampen = NULL,
amplify = NULL
)
A Tibble
Numeric value. The starting point of the wave on the coordinate system. By default refers to the x-axis. Will refer to the y-axis if orientation
is set to vertical
. Must be of length 1.
Numeric value. The ending point of the wave on the coordinate system. By default refers to the x-axis. Will refer to the y-axis if orientation
is set to vertical
Must be of length 1.
Numeric value. The height or width of the wave. Orientation is set to horizontal
by default, thus size will affect height by default. When orientation is set to vertical
, size controls the width of the wave. Must be a positive numeric value. Must be of length 1.
String value. "sin" or "cos" for sine or cosine waves. sin
is default. Must be of length 1.
String value. Default is horizontal
which will draw the wave from left to right (x-axis) on the coordinate system. vertical
will draw the wave from bottom to top (y-axis) on the coordinate system. Must be of length 1.
Numeric value. Default is 3 cycles per second. This affects how many "peaks" are created in the wave. Must be a positive numeric value. Must be of length 1.
Numeric value. Default is 500. This determines how many points each half of the wave will have. This option can come in handy when using jitter options or other texture/illusion methods. Must be of length 1.
Optional String Value. A 6 digit hexadecimal webcolor code, or R
colors()
color string for the border color of the wave. Must be of length 1.
Optional String Value. A 6 digit hexadecimal webcolor code, or R
colors()
color string for the fill color of the wave. Must be of length 1.
Logic value. TRUE
or FALSE
. Default is FALSE
. If TRUE
, Adds a group variable to the data frame. Useful for iterative work to make multiple waves in a single data frame.
Optional. A factor in which to dampen the wave (make "flatter"). Must be of length 1.
Optional. A factor in which to amplify the wave (make "sharper"). Must be of length 1.
library(ggplot2)
wave_df <- wave_data(
start = 0, end = 10,
fill = "purple",
color = "green"
)
wave_df |>
ggplot(aes(x, y)) +
theme_void() +
geom_polygon(
fill = wave_df$fill,
color = wave_df$color,
linewidth = 3
) +
coord_equal()
Run the code above in your browser using DataLab