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

如何在R语言的同一张图表中绘制两条不同的函数曲线

解决方法

R默认每次调用plot()函数都会新建独立绘图窗口,要将两个函数曲线合并在同一张图中,需要提前配置坐标轴范围,并在绘制第二个函数时指定叠加参数,具体实现如下:

可用代码示例

f1 = function(x1){
  return (sqrt(64-x1^2))
}

f2 = function(x2){
  return (cos(x2) - x2)
}

# 绘制第一个函数,提前设置y轴范围覆盖两个函数的取值区间,自定义颜色方便区分
plot(f1, -5, 1, 
     ylim = c(-2, 8), # 适配f1(y≈6~8)和f2(y≈-1.6~1.6)的取值范围
     col = "#2171b5", 
     xlab = "x", 
     ylab = "y",
     main = "函数曲线合并展示")
# 绘制第二个函数,add=TRUE表示叠加在现有画布上
plot(f2, -pi/2, pi/2, 
     add = TRUE, 
     col = "#de2d26")
# 添加图例区分两条曲线
legend("topright",
       legend = c("f1 = sqrt(64 - x²)", "f2 = cos(x) - x"),
       col = c("#2171b5", "#de2d26"),
       lty = 1)

关键注意点

  • 必须手动指定第一个绘图的ylim参数:默认第一个plot()只会适配f1的y值区间(约6~8),f2的y值远低于该区间,不设置的话f2会超出画布无法显示
  • 第二个函数绘图时必须加add = TRUE参数,告知R不要新建画布,直接在现有画布上叠加绘制
  • 可以自定义线条颜色、粗细、图例等元素,提升图表可读性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:36:08