【发布时间】:2020-10-10 16:26:02
【问题描述】:
我正在尝试为每个主题(在本例中为“A”、“B”或“C”)制作一个具有不同颜色图的 ecdf 图(经验累积分布函数)。 在本例中,X 轴描述 RT(响应时间),Y 轴描述 rt 观测值的累积比例。 使用 ggplot2 和 ecdf 函数,我设法用不同的离散颜色绘制每个主题的 ecdf 图。当我想根据一个完全不同的变量(这里称为“color_factor”)连续为主题的图上色时,问题就开始了,每个主题都不同并且是连续的。
这是我的简化示例:
set.seed(125)
dat <- data.frame(
subject = c(rep(c("A"), 10), rep(c("B"), 10), rep(c("C"), 10)),
color_factor = c(rep(0.3, 10), rep(0.6,10), rep(0.9,10)),
rt = sample(1:50, 30, replace =T)
)
dat <- arrange(dat,color_factor,rt)
dat.ecdf <- ddply(dat, .(color_factor), transform, ecdf=ecdf(rt)(rt) )
p <- ggplot( dat.ecdf, aes(rt, ecdf, colour = subject)) + geom_line()
p2 <- ggplot( dat.ecdf, aes(rt, ecdf, colour = color_factor)) + geom_line()
初始数据如下所示:
但是当我尝试使用 color_factor 变量为图着色时,它只为所有主题绘制一个图,并且不按预期着色。
我打算做的是图表看起来像图表 p,除了绘图颜色,例如颜色如下:主题 A- 浅蓝色,主题 B- 蓝色,和主题 C- 深色蓝色,对应每个受试者的 color_factor 变量。
有人知道我能做什么吗?任何帮助将不胜感激!
非常感谢,
尤瓦尔
【问题讨论】:
-
这样的?
p2 <- ggplot( dat.ecdf, aes(rt, ecdf, group = subject, colour = color_factor)) + geom_line() -
非常感谢@Lime,这太完美了!正是我想要的,而且非常简单:)