Раскраска точечной диаграммы по группам в qplot

У меня есть фрейм данных (data) это выглядит так:

Condition1   Condition2   Significant?
2.4           5.3            no
9.3           15.9           no
12.1          121.1          yes
0.2           151.3          yes

Я читаю в data.frame и строю график рассеяния следующим образом, используя qplot:

data<-read.table("input.txt",header=TRUE, row.names=1)

con<-data[,1]
con<-data[,2]
sig<-data[,3]

qplot(con, exp, data = data) + 
geom_point(aes(color=sig), size=I(0.6))

Я пытаюсь:

а) Раскрасьте точки по значению: "да" = красный, "нет" = черный

б) Размер точек в соответствии со значением: "да" = size=I(0.8) , 'нет' = size=I(0.5)

Я могу создать цветовую схему по умолчанию, используя приведенный выше код, но я не могу понять, как настроить цвета и размеры для разных групп - я думаю, что это довольно тривиально, если вы знаете, как работать с R, но я не т!

1 ответ

Решение

Ты можешь использовать scale_size_manual а также scale_colour_manual установить цвет и размер, которые вы должны добавить в aesthetics

dat <- read.table(text="Condition1   Condition2   Significant
2.4           5.3            no
9.3           15.9           no
12.1          121.1          yes
0.2           151.3          yes", header=T)

library(ggplot2)

ggplot(dat, aes(Condition1, Condition2, colour=Significant, size=Significant)) +
  geom_point() +
  scale_size_manual(values=c(0.5, 0.8)*10) +
  scale_colour_manual(values=c('no'="black", 'yes'="red"))

Другие вопросы по тегам