add_phylopic | R Documentation |
Specify existing images, taxonomic names, or PhyloPic uuids to add PhyloPic silhouettes as a separate layer to an existing ggplot plot.
add_phylopic(
img = NULL,
name = NULL,
uuid = NULL,
filter = NULL,
x,
y,
ysize = deprecated(),
height = NA,
width = NA,
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
, and ysize
to place the silhouette at a specified
position on the plot. The aspect ratio of the silhouette will always be
maintained.
x
and/or y
may be vectors of numeric values if multiple silhouettes
should be plotted at once. In this case, any other arguments (except for
remove_background
) may also be vectors of values, which will be recycled
as necessary.
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:
# Put a silhouette behind a plot based on a taxonomic name
library(ggplot2)
ggplot(iris) +
add_phylopic(x = 6.1, y = 3.2, name = "Iris", alpha = 0.2) +
geom_point(aes(x = Sepal.Length, y = Sepal.Width))
# Put a silhouette in several places based on UUID
posx <- runif(10, 0, 10)
posy <- runif(10, 0, 10)
heights <- runif(10, 0.4, 2)
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)
alpha <- runif(10, 0.3, 1)
p <- ggplot(data.frame(cat.x = posx, cat.y = posy), aes(cat.x, cat.y)) +
geom_blank() +
add_phylopic(uuid = "23cd6aa4-9587-4a2e-8e26-de42885004c9",
x = posx, y = posy, height = heights,
fill = fills, alpha = alpha, angle = angle,
horizontal = hor, vertical = ver)
p + ggtitle("R Cat Herd!!")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.