Если есть, я думаю, для этого должно быть очень простое решение. У меня есть два больших блока данных, которые в основном выглядят так:
> 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")