如果有的话,我认为这个问题一定有一个非常简单的解决方案。我有两个大型数据框,基本上看起来像这样:
> 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设置另一个颜色渐变?我在之前的帖子中读到,不可能使用两种不同的颜色比例(例如第一个的“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")
scale_colour_identity()
来为每个点定义自己的颜色。 - zx8754