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

如何解决R语言base::plot绘图中图例边距、样式异常问题

问题原因

  • 你将颜色列c$col转为了因子类型,R基础绘图系统在接收因子型的颜色参数时,会默认将因子水平映射为1、2的数值索引,对应R默认调色板的前两个颜色,而不会直接使用你写入的"red""blue"字符串作为颜色值
  • 图例参数设置和实际绘图逻辑不匹配:你定义的b<=10的分类对应颜色是蓝色,但图例中该分类对应的颜色写为了黑色;同时绘图用的是type="h"的实线竖线,图例设置lty=1:2会出现两种线型,和实际绘图效果不一致

修复方案

调整颜色列的类型和图例参数即可,修正后完整代码如下:

# 生成模拟数据
a = abs(rnorm(100,10,10))
b = abs(rnorm(100,10,10))
i = 1
c = data.frame(a,b,i)
# 直接使用字符型颜色向量,不转为因子
c$col = ifelse(c$b>10,"red", "blue")

# 绘图
plot(c$a, type = "h", col = c$col, main = "plot_1, i = 1", 
      ylim = c(0, 100))
# 修正图例颜色、线型和实际绘图逻辑匹配
legend(1, 95, legend=c("Sampled", "Not Sampled"),
      col=c("red", "blue"), lty=1, lwd = 2, cex=0.8)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:30:00