gpt4 book ai didi

r - 是否可以在 geom_raster() 上强制缩放?

转载 作者:行者123 更新时间:2023-12-04 02:06:16 27 4
gpt4 key购买 nike

我正在尝试使用 geom_raster() 比较三个地 block 。问题是我想在第一个绘图 [-3,3] 中设置的所有三个绘图中保持相同的比例。

这是我的代码:

#raster plots
box <- .05
df <- expand.grid(x1 = seq(-1, 1, box), x2 = seq(-1, 1, box))
df$risk <- df$x1 + 2*df$x2

p1 <- ggplot(df, aes(x1, x2, fill = risk)) + geom_raster() +
scale_fill_gradientn(colours=c("#FFFFFF","#046380","#000000")) +
theme_minimal() +
ggtitle("True Risk")

df <- expand.grid(x1 = seq(-1, 1, box), x2 = seq(-1, 1, box))
df$risk <- .99*df$x1 + 1.98*df$x2

p2 <- ggplot(df, aes(x1, x2, fill = risk)) + geom_raster() +
scale_fill_gradientn(colours=c("#FFFFFF","#046380","#000000")) +
theme_minimal() +
ggtitle("Estimated Risk")

df <- expand.grid(x1 = seq(-1, 1, box), x2 = seq(-1, 1, box))
df$risk <- .01*df$x1 + .02*df$x2
p3 <- ggplot(df, aes(x1, x2, fill = risk)) + geom_raster() +
scale_fill_gradientn(colours=c("#FFFFFF","#046380","#000000")) +
theme_minimal() +
ggtitle("Difference")

library(gridExtra)
grid.arrange(p1, p2, p3, ncol=1)

这是我的输出

enter image description here

很难看出差异很小,因为比例变为 [0.03,-0.03]。如何显示正确的表面,但在原始比例上?

最佳答案

您可以将所有三个变量保存在一个 data.frame 中,并使用 facet_gridfacet_wrap 来保持比例。

library(ggplot2)
library(reshape2)
box <- .05
df <- expand.grid(x1 = seq(-1, 1, box), x2 = seq(-1, 1, box))
# Calculate each field
df$TrueRisk <- df$x1 + 2*df$x2
df$EstimatedRisk <- .99*df$x1 + 1.98*df$x2
df$Difference <- .01*df$x1 + .02*df$x2

# Transform the data into long format for ggplot2
df <- melt(df, c("x1", "x2"))

# Use facet_grid/facet_wrap to create the plot
ggplot(df, aes(x1, x2, fill = value)) + geom_raster() +
facet_grid(variable ~ .) +
scale_fill_gradientn(colours=c("#FFFFFF","#046380","#000000")) +
theme_minimal() +
ggtitle("Risk")

enter image description here

关于r - 是否可以在 geom_raster() 上强制缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43132432/

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