ggplot2(3.5.1)图例标题与标签修改问题求助
解决方案
方法1:生成图时直接指定图例标题和标签(推荐)
interact_plot(来自jtools包)本身提供参数可直接设置分组变量的名称和标签,无需后续修改ggplot图层,这是最稳妥的方式:
m.emo.plot <- interact_plot(model = m.emo, pred = cemodiff, modx = onlychildcg, data = data, modx.name = "Sibling Structure", # 设置图例标题 modx.labels = c("1+ siblings", "Only child")) # 设置图例标签 m.emo.plot + labs(x = "Emotional Difficulty of Care", y = "Psychological Well-being")
方法2:生成图后修改ggplot图层
如果需要在图生成后调整,先确认图的美学映射类型(interact_plot默认用color区分分组),再用对应scale函数修改:
# 可选:验证美学映射类型 # str(m.emo.plot$layers[[1]]$aes) m.emo.plot + labs(x = "Emotional Difficulty of Care", y = "Psychological Well-being") + scale_color_discrete( name = "Sibling Structure", labels = c("1+ siblings", "Only child") )
无效原因说明
labs(legend.title = ...)是错误用法,ggplot中无此参数,图例标题需在对应scale函数(如scale_color_discrete)中通过name参数设置。- 你尝试的
scale_fill_discrete无效,是因为interact_plot默认用color而非fill区分分组变量。
内容的提问来源于stack exchange,提问作者medusa
相关产品推荐
相关产品推荐

