ggpLayerAxesSI | R Documentation |
Performs necessary transformations to display axes of surface plots and STS/IAS line- or ridgeplots with SI units of length.
ggpLayerAxesSI(
object,
unit = getSpatialMethod(object)@unit,
which = c("x", "y"),
breaks = NULL,
expand = NULL,
add_labs = FALSE,
round = 2,
xlim = NULL,
ylim = NULL,
...
)
object |
An object of class |
unit |
The desired unit. Defaults to the unit
in which the original size of the image of the spatial method is
provided. Obtain valid input options with |
which |
One or two of 'x' and 'y'. Specifies for which axes the transformation is performed. Defaults to both. |
breaks |
Specifies where the breaks are set. Labels are plotted in the unit
specified in
|
expand |
Specifies how the axis are expanded. Using
|
add_labs |
Logical. If |
round |
Numeric value or |
xlim , ylim |
Vectors of length two. Distance measures that set the limits on the respective axes. |
... |
Used to absorb deprecated arguments or functions. |
breaks_x , breaks_y |
Deprecated in favor of |
frame_by |
Deprecated. Use |
Several functions in SPATA2
have arguments that take distance input.
To specifically refer to a distance the unit must be specified. There are
three ways to create valid input for these arguments.
1. In pixel:
There are two valid input options to specify the distance in pixel:
numeric: Single numeric values, e.g. arg_input <- c(2, 3.554, 69, 100.67)
. If no unit
is specified the input will be interpreted as pixels.
character: Suffixed with 'px', e.g. arg_input <- c('2px', '3.554px', '69px', '100.67px')
Note: The unit pixel (px) is used for distances as well as for areas. If pixel refers to a distance the pixel side length is meant. If pixel refers to an area the number of pixels is meant.
2. According to the Systeme international d'unites (SI):
Specifying distances in SI units e.g. arg_input <- c('2mm', '4mm')
etc.
requires the input to be a character as the unit must be provided as suffix.
Between the numeric value and the unit must be no empty space! Valid suffixes
can be obtained using the function validUnitsOfLengthSI()
.
3. As vectors of class unit
:
Behind the scenes SPATA2
works with the units
package. Input
is converted into vectors of class units
. Therefore, input can be directly
provided this way: arg_input <- units::set_unit(x = c(2,4), value = 'mm')
Note that pixel is not a valid unit in the units
package. If you want
to specify the input in pixel you have to use input option 1. In pixel.
ggpLayer*()
-functions return lists of ggproto
objects
that can be added to ggplots via the +
operator. In most of the cases
they are supposed to be added to plots created with the plotSurface*()
family.
library(tidyverse)
object <- downloadPubExample("313_T")
object <- setDefault(object, pt_clrsp = "BuGn", display_image = FALSE)
# ------ for surface plots
# no axes specification
plotSurface(object, color_by = "FN1") +
ggpLayerThemeCoords()
# in millimeters
plotSurface(object, color_by = "FN1") +
ggpLayerThemeCoords() +
ggpLayerAxesSI(object, unit = "mm")
# in millimeters set specifically
my_breaks <- str_c(1:7, "mm")
print(my_breaks)
plotSurface(object, color_by = "FN1") +
ggpLayerThemeCoords() +
ggpLayerAxesSI(object, unit = "mm", breaks = my_breaks, add_labs = TRUE)
plotSurface(object, color_by = "FN1") +
ggpLayerThemeCoords() +
ggpLayerAxesSI(object, unit = "mm", breaks = list(x = my_breaks, y = str_c(2:5, "mm")), add_labs = TRUE)
# ----- for gradient plots
plotSurface(object, color_by = "FN1") +
ggpLayerHorizonIAS(object, id = "necrotic_center", distance = "2.25mm", binwidth = "112.5um")
# no axis specification
plotIasLineplot(object, id = "necrotic_center", distance = "2.25mm", variables = "FN1")
# with axis specification, make sure to set which = "x" as y is used for expression!
plotIasLineplot(object, id = "necrotic_center", distance = "2.25mm", variables = "FN1") +
ggpLayerAxesSI(object, unit = "mm", breaks = str_c(c(0.5, 1, 1.5, 2), "mm"), which = "x")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.