我想创建一个看起来像这样的图:
但是,我想基于连接的线合并密度(而不是像上面使用geom_density_2d的图形那样单独绘制点)。实际上,数据看起来像这样:
我在其中显示4点时间序列上的基因表达(y =基因表达值,x =时间)在两个示例中,中心线都是使用LOESS曲线拟合创建的。
如何基于从时间= 1到时间= 4的实际单个连接线创建密度或轮廓图?
这是到目前为止所做的:
# make a dataset
test <- data.frame(gene=rep(c((1:500)), each=4),
time=rep(c(1:4), 125),
value=rep(c(1,2,3,1), 125))
# add random noise to dataset
test$value <- jitter(test$value, factor=1,amount=2)
# first graph created as follows:
ggplot(data=test, aes(x=time, y=value)) +
geom_density_2d(colour="grey") +
scale_x_continuous(limits = c(0,5),
breaks = seq(1,4),
minor_breaks = seq(1)) +
scale_y_continuous(limits = c(-3,8)) +
guides(fill=FALSE) +
theme_classic()
# second plot created as follows
ggplot(test, aes(time, value)) +
geom_line(aes(group = gene),
size = 0.5,
alpha = 0.3,
color = "snow3") +
geom_point() +
scale_y_continuous(limits = c(-3, 8)) +
scale_x_continuous(breaks = seq(1,4), minor_breaks = seq(1)) +
theme_classic()
在此先感谢您的帮助!