stat_wb_mean | R Documentation |
stat_wb_mean
computes mean spectral irradiance under a curve for each
waveband in the input. Sets suitable default aesthetics for "rect", "hline",
"vline", "text" and "label" geoms. x
-scale transformations
and axis flipping are currently not supported.
stat_wb_mean(
mapping = NULL,
data = NULL,
geom = "text",
position = "identity",
...,
w.band = NULL,
integral.fun = integrate_xy,
label.mult = 1,
chroma.type = "CMF",
label.fmt = "%.3g",
ypos.mult = 1.07,
xpos.fixed = NULL,
ypos.fixed = NULL,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
mapping |
The aesthetic mapping, usually constructed with
|
data |
A layer specific dataset - only needed if you want to override the plot defaults. |
geom |
The geometric object to use display the data |
position |
The position adjustment to use for overlapping points on this layer |
... |
other arguments passed on to |
w.band |
a waveband object or a list of waveband objects or numeric vector of at least length two. |
integral.fun |
function on $x$ and $y$. |
label.mult |
numeric Scaling factor applied to y-integral values before conversion into character strings. |
chroma.type |
character one of "CMF" (color matching function) or "CC"
(color coordinates) or a |
label.fmt |
character string giving a format definition for converting
y-integral values into character strings by means of function
|
ypos.mult |
numeric Multiplier constant used to scale returned
|
xpos.fixed , ypos.fixed |
numeric If not |
na.rm |
a logical value indicating whether NA values should be stripped before the computation proceeds. |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
A data frame with one row for each waveband object in the argument
to w.band
. Wavebeand outside the range of the spectral data are
trimmed or discarded.
What it is named integral below is the result of appying integral.fun
,
with default integrate_xy
.
ymean multiplied by label.mult
and formatted
according to label.fmt
w.band-midpoint
w.band minimum
w.band maximum
data$y minimum
data$y maximum
data$y integral for the range of w.band
yint divided by wl_expanse(w.band)
ypos.fixed or top of data, adjusted by ypos.mult
color of the w.band
label of w.band
black_or_white(wb.color)
Set by the statistic and available to geoms.
..y.label..
..x..
..wb.xmin..
..wb.xmax..
0
..wb.ymean..
..wb.ymean..
..wb.color..
Required by the statistic and need to be set with aes()
.
numeric, wavelength in nanometres
numeric, a spectral quantity
Other stats functions:
stat_color()
,
stat_find_qtys()
,
stat_find_wls()
,
stat_label_peaks()
,
stat_peaks()
,
stat_spikes()
,
stat_wb_box()
,
stat_wb_column()
,
stat_wb_contribution()
,
stat_wb_hbar()
,
stat_wb_irrad()
,
stat_wb_label()
,
stat_wb_relative()
,
stat_wb_sirrad()
,
stat_wb_total()
,
stat_wl_strip()
,
stat_wl_summary()
library(photobiologyWavebands)
# ggplot() methods for spectral objects set a default mapping for x and y.
# Using defaults
ggplot(sun.spct) +
stat_wb_column(w.band = VIS_bands()) +
stat_wb_mean(w.band = VIS_bands(),
color = "black") +
scale_fill_identity() + scale_color_identity()
# Setting format for numbers, position, angle, and color
ggplot(sun.spct) +
stat_wb_column(w.band = VIS_bands(), alpha = 0.5) +
stat_wb_mean(w.band = VIS_bands(),
label.fmt = "%.2f",
angle = 90, color = "black", ypos.fixed = 0.1) +
geom_line() +
scale_fill_identity() + scale_color_identity() +
theme_bw()
# Changing label mapping
ggplot(sun.spct) +
stat_wb_column(w.band = VIS_bands(), alpha = 0.5) +
stat_wb_mean(w.band = VIS_bands(),
label.fmt = "%.2f",
angle = 90, color = "black", ypos.fixed = 0.1,
hjust = "left", size = 3,
mapping = aes(label = after_stat(paste(wb.name, ": ", y.label, sep = "")))) +
geom_line() +
scale_fill_identity() + scale_color_identity() +
theme_bw()
# example using repulsion
library(ggrepel)
ggplot(sun.spct) +
geom_line() +
stat_wb_hbar(w.band = VIS_bands(), size = 1.5) +
stat_wb_mean(w.band = VIS_bands(),
geom = "label_repel", nudge_y = +0.04, size = 3,
segment.colour = NA, label.size = NA) +
expand_limits(y = 0.9) +
scale_fill_identity() + scale_color_identity() +
theme_bw()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.