#r #ggplot2 #scatter
#r #ggplot2 #разброс
Вопрос:
Я хотел бы раскрасить свои точки на диаграмме рассеяния, Depo
в зависимости от того, соответствуют ли они моим Cutoff
критериям. Я пробовал раскрашивать с помощью Depo
и использовать shape для Cutoff
, но это не дает мне нужного изображения. Я действительно хочу, чтобы точки были раскрашены, Depo
только если Cutoff = Good/Maybe
и все точки, где Cutoff = Bad
черные.
Depth Pj T Depo Cutoff
100.69 1.095802 0.9986513 Dri Good
97.04 1.009357 0.9624445 Pro Good
74.74 1.039274 0.9880176 Tur Maybe
106.46 1.054291 0.9873374 Pro Maybe
109.37 1.117034 0.9913281 Dri Bad
90.29 1.01166 0.9107071 Pro Bad
Я пробовал это, но это не выделяет плохие образцы
ggplot(MyData, aes(x=Pj, y=T, colour = Depo, shape = Cutoff)) geom_point()
Ответ №1:
Как насчет чего-то подобного?
df %>%
mutate(col = factor(ifelse(
Cutoff %in% c("Good", "Maybe"),
as.character(Depo),
NA))) %>%
ggplot(aes(x = Pj, y = T, colour = col, shape = Cutoff))
geom_point()
Пример данных
df <- read.table(text = "Depth Pj T Depo Cutoff
100.69 1.095802 0.9986513 Dri Good
97.04 1.009357 0.9624445 Pro Good
74.74 1.039274 0.9880176 Tur Maybe
106.46 1.054291 0.9873374 Pro Maybe
109.37 1.117034 0.9913281 Dri Bad
90.29 1.01166 0.9107071 Pro Bad", header = T)
Комментарии:
1. Это работает именно так, как я хочу, но как мне изменить NA в легенде на что-то более значимое, например, на обрезание ниже? @Maurits