我有多个数据集,这些数据集具有用于生成ggplot2中的热图的不同数据范围。我想将所有热图与ggarrange()合并为一个图形。我希望所有的热图使用相同的填充比例,该比例代表两个数据集中的整个数据范围。
我知道ggarrange()具有common.legend = TRUE
参数,但是这只会从第一个热图中提取图例,无论它是否描述了第二个热图中的数据。我已经尝试过为使用scale_fill_gradientn(df, colors = c(...), values = df$value, space = "Lab")
之类的东西生成的每个热图使用相同的色标,但这也不能正确缩放。
require(ggplot2)
require(ggpubr)
high <- ggplot(subset(mtcars, hp > 100), aes(x = carb, y = gear, fill = hp)) + geom_tile(color = "white")
high
low <- ggplot(subset(mtcars, hp < 100), aes(x = carb, y = gear, fill = hp)) + geom_tile(color = "white")
low
both <- ggarrange(high, low)
both