首页 > 解决方案 > 创建后如何更新ggplot2中geom的参数

问题描述

ggplot2 geom创建对象后如何更新对象的各个方面?我正在使用sjPlotplot_models()函数来可视化多个混合效果模型的固定效果,并且我想增加它创建的一些文本注释geom_text()的大小以及增加它创建的误差线的大小geom_errorbar()

这是一个例子:

library(sjPlot)
library(lme4)

data1 <- data.frame(y = sample(c(0, 1), 100, replace = TRUE),
                    ran_effect = rep(c(1:10), 10),
                    x1 = rnorm(100),
                    x2 = rnorm(100, 4, 10))

data2 <- data.frame(y = sample(c(0, 1), 100, replace = TRUE),
                    ran_effect = rep(c(1:10), 10),
                    x1 = rnorm(100),
                    x2 = rnorm(100, 4, 10))

m1 <- glmer(y ~ x1 + x2 + (1 | ran_effect), data = data1,
            family = binomial())
m2 <- glmer(y ~ x1 + x2 + (1 | ran_effect), data = data2,
            family = binomial())

my_plot <- plot_models(m1, m2, dot.size = 5, show.values = TRUE,
                       show.p = TRUE) +
    theme(line = element_line(size = 4))

我期待看到size在访问geom图层时可以设置的值,如从 ggplot2 图表中删除图层中所述;但是,或中的任何一个都没有size值,它们分别对应于和层。str(my_plot$layers[[3]])str(my_plot$layers[[4]])geom_errorbar()geom_text()

是否可以在创建后更新 a 的这一方面geom?我想这样做,以便我可以继续使用sjPlot'splot_models()而不必自己创建图。

标签: rggplot2sjplot

解决方案


推荐阅读