R语言中如何移除path.plot()函数生成图表的图例?
path.plot()移除图例的解决方案
path.plot()是synth合成控制包的内置绘图函数,本身没有提供直接关闭图例的参数,你尝试的Legend.position = "none"不生效的原因是该参数仅支持R基础绘图的合法图例位置取值,不存在none选项;你后续调用legend("none",...)的写法也不符合基础绘图函数的参数规则,因此无法生效。
以下是3种实测可用的解决方法:
- 方案1:直接传入空白图例参数
调用path.plot()时,将Legend参数设为两个空字符串,图例位置随便选一个边缘位置即可,生成的图例无内容不会干扰主图:path.plot( # 保留你原本的其他参数不变 synth.res = NA, dataprep.res = NA, tr.intake = NA, Ylab = c("Y Axis"), Xlab = c("Time"), # 新增/修改以下两个参数 Legend = c("", ""), Legend.position = "topleft" ) - 方案2:覆盖擦除已生成的图例
如果你已经调用path.plot()生成了带图例的图表,运行对应位置的空白图例代码即可覆盖原有内容,注意位置要和你之前设置的Legend.position一致:# 示例对应Legend.position为topright的情况,可自行修改位置参数 legend("topright", legend = c("",""), bty = "n", lty = 0, col = "transparent") - 方案3:修改函数源码永久关闭图例
如果后续使用都不需要显示图例,可以提取源码删除图例生成逻辑:- 导出原函数到自定义变量:
custom_path_plot <- synth::path.plot- 编辑
custom_path_plot函数代码,找到内部调用legend()的代码段直接删除,后续绘图调用修改后的custom_path_plot()即可。
内容的提问来源于stack exchange,提问作者jck21
相关产品推荐
相关产品推荐

