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

如何使用ggplot沿水平轴偏移stat_function生成的几何曲线

问题原因说明

你之前的调整方法无效是因为stat_function传入的长度为2的data参数仅用于定义当前层函数的计算x区间,不会对x的映射值做偏移,函数依然基于绘图坐标系下的原始x值计算,因此输出和原图没有差异。

正确实现方法

要实现曲线水平偏移且形态完全不变,直接对函数本身做数学变换即可:如果需要将函数y = f(x)沿水平轴向右偏移k个单位,新的函数表达式调整为y = f(x - k)即可。

举个例子,你要将蓝色曲线右移3个单位、绿色曲线右移5个单位,可使用如下代码:

library(ggplot2)

# 调整x轴最大值到30,避免偏移后曲线超出显示范围
ggplot(data.frame(x = c(0, 30)), aes(x)) +
  # 红色曲线保持不变
  stat_function(fun = function(x) plogis(x, location = 5, scale = 2), colour = "red") +
  # 蓝色曲线右移3个单位,函数内部x减3
  stat_function(fun = function(x) plogis(x - 3, location = 9, scale = 3), colour = "blue") +
  # 绿色曲线右移5个单位,函数内部x减5
  stat_function(fun = function(x) plogis(x - 5, location = 9, scale = 4), colour = "green")

如果需要调整偏移量,只需要修改函数内部减去的数值即可,左移的话对应改成加数值即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 02:45:00