You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改R语言emmeans包中emmip绘图的颜色与字体?

解决方案:修正emmip结合ggplot2的绘图代码

问题根源

你的代码存在两个关键问题:

  1. 语法错误:theme()调用未闭合括号,且缺少逗号分隔后续图层;
  2. 映射类型错误:emmip绘制的交互图使用color映射分组,而非fill,因此调用scale_fill_brewer不会生效。

修正后的直接调用代码

修复语法并替换正确的颜色缩放函数:

emmip(Model, group ~ gend, CIs=TRUE, nuisance = c("known", "age_dup", "edu"), 
      xlab = "", 
      ylab = "Intention to use the platform") +
  theme(text = element_text(family = "serif", size = 13)) +
  scale_color_brewer(palette = "Blues")

更灵活的手动ggplot绘图方案

如果上述方法仍有问题,可先提取emmeans结果再手动绘图,完全控制所有元素:

# 1. 获取调整后的边际均值
emm_obj <- emmeans(Model, ~ group * gend, nuisance = c("known", "age_dup", "edu"))

# 2. 转换为数据框
emm_df <- as.data.frame(emm_obj)

# 3. 用ggplot2手动绘制
library(ggplot2)
ggplot(emm_df, aes(x = gend, y = emmean, color = group, group = group)) +
  geom_point(size = 3) +  # 绘制均值点
  geom_line(linewidth = 1) +  # 绘制交互线
  geom_errorbar(aes(ymin = lower.CL, ymax = upper.CL), width = 0.2) +  # 绘制置信区间
  labs(x = "", y = "Intention to use the platform") +
  theme(text = element_text(family = "serif", size = 13)) +
  scale_color_brewer(palette = "Blues")

说明

  • 手动绘图方案能完全自定义点、线、误差棒的样式,适合复杂需求;
  • 确保已加载ggplot2包,否则theme()和scale_color_brewer()会报错。

内容的提问来源于stack exchange,提问作者phdmeme

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:30:16