在不同的地块上匹配填充梯度

use*_*296 1 r ggplot2

假设我有这些数据:

d1 <- data.frame(x = letters[1:3], y=LETTERS[24:26], num = 1:3)
d2 <- data.frame(x = letters[1:3], y=LETTERS[24:26], num = c(1,2,30))

library(gridExtra)
library(ggplot2) 

ggd1 <- ggplot(d1, aes(x=x,y=y)) + 
          geom_tile(aes(fill=num)) + 
          scale_fill_gradient(low = "green", high = "blue")
ggd2 <- ggplot(d2, aes(x=x,y=y)) + 
          geom_tile(aes(fill=num)) + 
          scale_fill_gradient(low = "green", high = "blue")

grid.arrange(ggd1,ggd2)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我的问题是如何规范填写梯度,这样即使在D1和D2的数据的程度不同,颜色X-a,Y-b768,16匹配两条曲线,但Z-c应该由一个数量级的差别.即我希望两个图都保持相同的比例.

Bro*_*ieG 5

为每个图添加限制:

ggd1 <- ggplot(d1, aes(x=x,y=y)) + 
  geom_tile(aes(fill=num)) + 
  scale_fill_gradient(low = "green", high = "blue", limits=c(1, 30))
ggd2 <- ggplot(d2, aes(x=x,y=y)) + 
  geom_tile(aes(fill=num)) + 
  scale_fill_gradient(low = "green", high = "blue", limits=c(1, 30))
grid.arrange(ggd1,ggd2)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述