如果有的话,我认为必须有一个非常简单的解决方案。我有两个基本上看起来像这样的大型数据框:
> data1[1,]
chromosome start end test ref position log2 p.value
13600 Y 10199251 10200750 533 616 10200000 0.2181711 0.00175895
...
> data2[1,]
chromosome start end test ref position log2 p.value
4080 Y 10197501 10202500 403 367 10200000 0.04113596 0.3149926
...
我正在使用此代码将两个数据框绘制到同一个图中:
p <- ggplot() + geom_point(data=subset(data1, p.value >= glim[1]),
map=aes(x=position, y=log2, colour=p.value))
+ geom_point(data=subset(data2, p.value >= glim[1]), map=aes(x=position,
y=log2, colour=p.value))
当我绘制单个数据框时,我对“p.value”列中的值使用了红白色渐变。使用这条线:
p <- p + scale_colour_gradient(limits=glim, trans='log10', low="red",
high="white")
中心问题是:现在有两个数据帧,我如何为 data1 设置一个颜色渐变,为 data2 设置另一个颜色渐变?我在上一篇文章中读到不可能使用两种不同的色标(ej。“low=”用于第一个,“high=”用于第二个),但在这种情况下是完全相同的色标(如果我没有混淆术语)。语法显然不正确,但我想做这样的事情:
p <- p + scale_colour_gradient(limits=glim, trans='log10', low="red",
high="white")
p <- p + scale_colour_gradient(limits=glim, trans='log10', low="blue",
high="white")