View source: R/add_phylopic_base.r
add_phylopic_base | R Documentation |
Specify existing images, taxonomic names, or PhyloPic uuids to add PhyloPic
silhouettes on top of an existing base R plot (like points()
).
add_phylopic_base(
img = NULL,
name = NULL,
uuid = NULL,
filter = NULL,
x = NULL,
y = NULL,
ysize = deprecated(),
height = NULL,
width = NULL,
alpha = 1,
color = NA,
fill = "black",
horizontal = FALSE,
vertical = FALSE,
angle = 0,
hjust = 0.5,
vjust = 0.5,
remove_background = TRUE,
verbose = FALSE
)
img |
A Picture or png array object, e.g.,
from using |
name |
|
uuid |
|
filter |
|
x |
|
y |
|
ysize |
|
height |
|
width |
|
alpha |
|
color |
|
fill |
|
horizontal |
|
vertical |
|
angle |
|
hjust |
|
vjust |
|
remove_background |
|
verbose |
|
One (and only one) of img
, name
, or uuid
must be specified.
Use parameters x
, y
, hjust
, and vjust
to place the silhouette at a
specified position on the plot. If height
and width
are both
unspecified, then the silhouette will be plotted to the full height and/or
width of the plot. The aspect ratio of Picture
objects will always be
maintained (even when a plot is resized). However, if the plot is resized
after plotting a silhouette, the absolute size and/or position of the
silhouette may change.
Any argument (except for remove_background
) may be a vector of values if
multiple silhouettes should be plotted. In this case, all other arguments
may also be vectors of values, which will be recycled as necessary to the
length of the longest vector argument.
When specifying a horizontal and/or vertical flip and a rotation, the
flip(s) will always occur first. If you would like to customize this
behavior, you can flip and/or rotate the image within your own workflow
using flip_phylopic()
and rotate_phylopic()
.
Note that png array objects can only be rotated by multiples of 90 degrees. Also, outline colors do not currently work for png array objects.
## Not run:
# single image
plot(1, 1, type = "n", main = "A cat")
add_phylopic_base(uuid = "23cd6aa4-9587-4a2e-8e26-de42885004c9",
x = 1, y = 1, height = 0.4)
# lots of images using a uuid
posx <- runif(10, 0, 1)
posy <- runif(10, 0, 1)
size <- runif(10, 0.1, 0.3)
angle <- runif(10, 0, 360)
hor <- sample(c(TRUE, FALSE), 10, TRUE)
ver <- sample(c(TRUE, FALSE), 10, TRUE)
fills <- sample(c("black", "darkorange", "grey42", "white"), 10,
replace = TRUE)
plot(posx, posy, type = "n", main = "A cat herd")
add_phylopic_base(uuid = "23cd6aa4-9587-4a2e-8e26-de42885004c9",
x = posx, y = posy, height = size,
fill = fills, angle = angle,
horizontal = hor, vertical = ver)
# Example using a cat background
cat <- get_phylopic("23cd6aa4-9587-4a2e-8e26-de42885004c9")
# setup plot area
plot(posx, posy, type = "n", main = "A cat herd, on top of a cat",
xlim = c(0, 1), ylim = c(0, 1))
# plot background cat
add_phylopic_base(img = cat, alpha = 0.2)
# overlay smaller cats
add_phylopic_base(img = cat, x = posx, y = posy, height = size, alpha = 0.8)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.