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

R语言使用ggplot2绘图出现双图例如何仅保留右侧图例

问题原因

你在ggplot()的全局美学映射中额外声明了fill = Action,但后续所有绘图图层(折线、散点、标注文本)均仅使用color映射,没有用到填充属性,因此ggplot会为未关联图层的fill映射单独生成多余图例,最终出现两个重叠的顶部图例。

解决方法

两种方案二选一即可:

  • 方案1(更推荐):删除全局映射中不需要的fill参数
    修改第一行代码为:
plt <- ggplot(ac_total_melt, aes(Date, Value)) +
  • 方案2:若后续需要用到fill映射不想修改全局参数,直接在guides中关闭fill图例即可,修改guides行代码为:
guides(color = guide_legend (override.aes = list(linetype = 0, size=5)), fill = "none")
可选优化

你当前设置的override.aes中linetype = 0会导致图例中不显示折线样式,如果你希望图例同时展示点+折线的样式,可将参数调整为linetype = 1。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:21:02