где я могу найти полный список форм и цветов в качестве входных символов для geom_point?
p <- ggplot(mtcars, aes(wt, mpg))
p + geom_point(shape = "square", color = "blue")
У меня есть функция, которая принимает
shape
и
color
параметры, которые будут переданы geom_point. Мне нужно проверить, действителен ли ввод. Поэтому мне нужно сделать что-то вроде:
stopifnot (shape%in% all_valid_shapes) то же самое для цвета
Так где мне взять эти списки?
1 ответ
См. Этот существующий вопрос для проверки цвета.
Для фигур вы можете использовать неэкспортированный
ggplot
функция, которая проверяет имена форм
ggplot2:::translate_shape_string(4) # ok
ggplot2:::translate_shape_string("cross") # ok
ggplot2:::translate_shape_string("oops") # bad
ggplot2:::translate_shape_string(30) # bad
Вы можете увидеть, выдает ли это ошибку или нет. Но поскольку это неэкспортированная функция, ее работа или поддержка в будущих версиях ggplot2 не гарантируется, поэтому используйте ее на свой страх и риск.
Или в виньетке со спецификациями ggplot есть код
vignette("ggplot2-specs", package="ggplot2")
это, кажется, дает список всех возможных значений. вы можете проверить потенциальные строковые значения по этому списку.
shape_names <- c(
"circle", paste("circle", c("open", "filled", "cross", "plus", "small")), "bullet",
"square", paste("square", c("open", "filled", "cross", "plus", "triangle")),
"diamond", paste("diamond", c("open", "filled", "plus")),
"triangle", paste("triangle", c("open", "filled", "square")),
paste("triangle down", c("open", "filled")),
"plus", "cross", "asterisk"
)