#r #ggplot2 #tidyverse #geom-point #scale-color-manual
#r #ggplot2 #tidyverse #геометрическая точка #масштаб-цвет-руководство
Вопрос:
Допустим, у меня есть фрейм данных, подобный этому
id password year length Something 1 1234567 2001 7 good 2 pass4 2001 5 bad 3 angel3 2003 6 bad 4 pizza 2004 5 ok
я пытаюсь получить код, который создал бы геометрическую точку с 3 переменными, но я хочу выделить только один уровень фактора «Что-то» . И я не хочу, чтобы на каком-либо из других уровней фактора Что-то(например, хорошее или плохое) было окрашено. Или, по крайней мере, они могут оставаться черными.
я думал, может быть, что-то вроде этого :
graph lt;- dat %gt;% ggplot(aes(x=(year), y=length, color=Something$ok) geom_point()
но я не могу использовать $ .
Ответ №1:
Вы можете раскрасить только одну точку, установив все точки в один цвет и изменив цвет точки, которую вы хотите изменить. Для этого вы можете использовать scale_color_manual
Данные:
dat lt;- structure(list(id = 1:4, password = structure(c(1L, 3L, 2L, 4L ), .Label = c("1234567", "angel3", "pass4", "pizza"), class = "factor"), year = c(2001L, 2001L, 2003L, 2004L), length = c(7L, 5L, 6L, 5L), Something = structure(c(2L, 1L, 1L, 3L), .Label = c("bad", "good", "ok"), class = "factor")), class = "data.frame", row.names = c(NA, -4L))
Сюжет:
dat %gt;% ggplot(aes(x=(year), y=length, color = Something == "ok")) geom_point() scale_color_manual(values = c("blue", "orange"))