visreg 在 R 中绘制 GAM 响应时在 y 轴上显示地毯
visreg displaying rug on y axis when plotting GAM response in R
我想使用 visreg 在 GAM 中绘制变量的响应。我正在使用 visreg 的 gg=TRUE 功能来指定 ggplot 主题元素。我关闭了 partials 并设置了 rug = TRUE。但是,我在 x 和 y 轴上都得到了地毯(而不是仅仅在 x 轴上)。我不确定如何在保持 x 轴地毯的同时关闭 y 轴地毯。这是我用于绘图的代码:
library(visreg)
visreg(gam, "OISST_Temp_new", partial = FALSE, rug = 2,
line = list(col = "black"),fill = list(fill ="lightblue"), gg=TRUE)+
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_blank(),
panel.border = element_rect(linetype = "solid", fill = NA),
text = element_text(size=10, color = "black"),
axis.text = element_text(size = 10, color = "black"))
当我运行这段代码时,我留下了这个数字:
gam
是一个 mgcv::gam
对象,OISST_Temp_new
是我想可视化的响应。
当我指定 gg=FALSE 并仅使用 rug = TRUE
和 partial = FALSE
绘制没有任何 ggplot 元素的响应时,我得到了正确的 x 轴地毯。任何帮助将不胜感激!
您可以将ggplot
对象内的相关图层设置为NULL
。下面是 gam
函数的示例。
library(mgcv)
eg <- gamSim(2,n=n,scale=.5)
b5<-gam(y~s(x) + s(z),data=eg$data)
v <- visreg(b5, "x", partial = FALSE, rug = 2,
line = list(col = "black"),fill = list(fill ="lightblue"), gg=TRUE)+
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_blank(),
panel.border = element_rect(linetype = "solid", fill = NA),
text = element_text(size=10, color = "black"),
axis.text = element_text(size = 10, color = "black"))
v$layers[[3]] <- NULL
v
我想使用 visreg 在 GAM 中绘制变量的响应。我正在使用 visreg 的 gg=TRUE 功能来指定 ggplot 主题元素。我关闭了 partials 并设置了 rug = TRUE。但是,我在 x 和 y 轴上都得到了地毯(而不是仅仅在 x 轴上)。我不确定如何在保持 x 轴地毯的同时关闭 y 轴地毯。这是我用于绘图的代码:
library(visreg)
visreg(gam, "OISST_Temp_new", partial = FALSE, rug = 2,
line = list(col = "black"),fill = list(fill ="lightblue"), gg=TRUE)+
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_blank(),
panel.border = element_rect(linetype = "solid", fill = NA),
text = element_text(size=10, color = "black"),
axis.text = element_text(size = 10, color = "black"))
当我运行这段代码时,我留下了这个数字:
gam
是一个 mgcv::gam
对象,OISST_Temp_new
是我想可视化的响应。
当我指定 gg=FALSE 并仅使用 rug = TRUE
和 partial = FALSE
绘制没有任何 ggplot 元素的响应时,我得到了正确的 x 轴地毯。任何帮助将不胜感激!
您可以将ggplot
对象内的相关图层设置为NULL
。下面是 gam
函数的示例。
library(mgcv)
eg <- gamSim(2,n=n,scale=.5)
b5<-gam(y~s(x) + s(z),data=eg$data)
v <- visreg(b5, "x", partial = FALSE, rug = 2,
line = list(col = "black"),fill = list(fill ="lightblue"), gg=TRUE)+
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.background = element_blank(),
axis.line = element_blank(),
panel.border = element_rect(linetype = "solid", fill = NA),
text = element_text(size=10, color = "black"),
axis.text = element_text(size = 10, color = "black"))
v$layers[[3]] <- NULL
v