gpt4 book ai didi

r - 如何为图 block 图中的每个组/因子设置不同的比例

转载 作者:行者123 更新时间:2023-12-01 08:00:53 25 4
gpt4 key购买 nike

我有下面给出的代码

d = data.frame(sites=rep(paste("S", 1:31),each=12),
value=runif(31*12),
panel=c(rep("Group 1",16*12), rep("Group 2", 12*12),
rep("Group 3", 3*12)))


ggplot(d, aes(x = sites, y = factor(0))) +
geom_tile(aes(fill = value)) +
scale_fill_gradient(low = "green", high = "blue") +
facet_wrap(~ panel, ncol = 1)

enter image description here

现在,我希望每个组都有单独的渐变比例,而不是单一比例。

最佳答案

ggplot2 内无法做到这一点, 所以 gridExtra来救援!

library(ggplot2)
library(gridExtra)

n <- length(unique(d$panel))
l <- vector(mode = "list", length = n)
for (i in 1:n) {
dd <- d
dd[d$panel!=unique(d$panel)[i], "value"] <- NA
l[[i]] <-
ggplot(dd, aes(x = sites, y = 0)) +
geom_tile(aes(fill = value)) +
scale_fill_gradient(low = "green", high = "blue", na.value = NA)
}

grid.arrange(grobs = l, ncol = 1)

enter image description here

为了说明不同的尺度,改变d$value[d$panel == "Group 3"] <- rnorm(36) :

enter image description here

关于r - 如何为图 block 图中的每个组/因子设置不同的比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40523404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com