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

R语言基础绘图添加legend图例不显示的问题如何解决?

图例不显示的核心原因

  • 坐标超出可视范围:你设置的图例y坐标为95,而你生成的样本数值是均值为10的绝对值正态分布,y轴默认上限远低于95,图例被绘制到了画布外无法显示。
  • 颜色参数不匹配:你绘图时的分类颜色为红色、蓝色,但图例设置的颜色为红色、黑色,即便显示也和图中分类无法对应。
  • 额外说明:R基础绘图的plot()函数默认返回NULL,赋值给plot_1、plot_2等变量无实际作用,不属于报错原因。

修复方法

方案1:使用内置位置关键字(推荐,无需手动计算坐标)

直接用R内置的位置关键字定位图例,自动适配绘图区域,代码示例如下,其余两张图按相同逻辑修改即可:

# plot1 示例
plot(c$a, type = "h", col = c$col, main = "plot_1, i = 1")
legend("topright", 
       legend = c("Sampled", "Not Sampled"),
       col = c("red", "blue"), 
       lty = 1, 
       cex = 0.8)

可选的位置关键字包括"topleft"、"topright"、"bottomleft"、"bottomright"、"top"、"bottom"、"left"、"right"、"center",可根据图中空白区域选择。

方案2:手动指定坐标(适配自定义布局需求)

如果需要自定义图例位置,先手动设置y轴范围预留图例显示空间,再对应设置图例坐标即可:

# plot1 示例,预留10%的y轴空间放图例
plot(c$a, type = "h", col = c$col, main = "plot_1, i = 1", ylim = c(0, max(c$a)*1.1))
legend(1, max(c$a)*1.05, 
       legend = c("Sampled", "Not Sampled"),
       col = c("red", "blue"), 
       lty = 1, 
       cex = 0.8)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:36:02