假设我有这些数据:
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)
我的问题是如何标准化填充渐变,这样即使 d1 和 d2 中的数据范围不同,X-a
、Y-b
的颜色也应该匹配除了 Z-c
之外,这两个图应该相差一个数量级。即我想为两个地 block 保持相同的比例。
最佳答案
为每个图添加限制:
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)
关于r - 匹配不同地 block 的填充梯度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22015612/