gpt4 book ai didi

R ggplot2 - 如何指定越界值的颜色

转载 作者:行者123 更新时间:2023-12-03 21:23:56 28 4
gpt4 key购买 nike

在由以下代码生成的图中,我想更改颜色,以便所有 < 0.6 的值都与“低”颜色相同,并且所有大于 1 的值都是“高”颜色。

按原样,颜色渐变横跨数据的整个数字范围。我曾尝试添加限制,但这使得所有越界值与 NA 值的颜色相同,这不是我想要的,因为我需要缺少 NA 值才能清楚地突出并且看起来与越界值 <0.6 的颜色不同。

我确信答案是 oob,打破了论点,但没有成功让它发挥作用。

library(ggplot2)
a = rnorm(17*17, 0.733,0.21)
qcMat = matrix(a, ncol = 17)
qcMat[qcMat> 1] = 1
#qcMat contains values between 0 and 1 and some NAs

m = melt(t(qcMat))
m$Var2 <- with(m,factor(Var2, levels = rev(sort(unique(Var2)))))
ggplot(m, aes(as.factor(Var1), Var2, group=Var2)) +
geom_tile(aes(fill = value)) +
geom_text(aes(fill = m$value, label = round(m$value, 2))) +
scale_fill_gradient(low = "red", high = "green") +
xlab("") + ylab("") + ggtitle(paste("biscuit:", biscuit_id, "- QC", sep = " "))

最佳答案

正如你自己所说,你想要oob scale_fill_gradient 中的参数.要限制值,您可以使用 squish from the scales package (安装 scales 时安装 ggplot2):

library(scales)

然后
scale_fill_gradient(low = "red", high = "green", limits=c(0.6, 1), oob=squish)

关于R ggplot2 - 如何指定越界值的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23653951/

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