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

如何用R(优先ggplot2)复现含指数函数与直线的Excel图表?

用ggplot2复现目标Excel图表

完全可以用R的ggplot2包复现你描述的图表,下面是具体实现步骤和代码示例:

1. 准备工作

首先加载ggplot2包(未安装的话先运行install.packages("ggplot2")):

library(ggplot2)

2. 定义参数

把你已知的公式参数代入,以下用示例参数演示:

# 指数曲线参数:y = A*exp(B*x^0.5 - C*x^3)
A <- 5
B <- 2
C <- 1

# 多条直线的参数(截距b0,斜率b1),替换成你的实际参数即可
line_params <- data.frame(
  b0 = c(1, 3, 0),
  b1 = c(2, -1, 4),
  line_label = c("直线1", "直线2", "直线3")
)

3. 绘制图表(两种可选方式)

方式1:直接用函数绘制(无需提前计算数据)

适合仅需展示曲线、不需要原始点数据的场景:

ggplot() +
  # 绘制黑色指数曲线
  stat_function(
    fun = function(x) A * exp(B * sqrt(x) - C * x^3),
    color = "black",
    linewidth = 1
  ) +
  # 循环绘制多条直线
  lapply(1:nrow(line_params), function(i) {
    stat_function(
      fun = function(x) line_params$b0[i] + line_params$b1[i] * x,
      color = c("red", "blue", "green")[i], # 自定义区分颜色
      linetype = "dashed"
    )
  }) +
  # 设置坐标轴和主题
  labs(x = "X", y = "Y") +
  theme_minimal()

方式2:先计算数据再绘制(适合需要展示点或灵活控制的场景)

如果需要和Excel一样展示数据点,或要对数据做额外处理,可先计算所有点的数值:

# 生成X轴取值范围(可根据实际需求调整区间和密度)
x_vals <- seq(0, 1, length.out = 100)

# 计算指数曲线数据
exp_curve <- data.frame(
  x = x_vals,
  y = A * exp(B * sqrt(x_vals) - C * x_vals^3)
)

# 计算所有直线的数据
line_curves <- do.call(rbind, lapply(1:nrow(line_params), function(i) {
  data.frame(
    x = x_vals,
    y = line_params$b0[i] + line_params$b1[i] * x_vals,
    line_label = line_params$line_label[i]
  )
}))

# 绘图
ggplot() +
  geom_line(data = exp_curve, aes(x, y), color = "black", linewidth = 1) +
  geom_line(data = line_curves, aes(x, y, color = line_label, linetype = line_label)) +
  # 如需展示数据点,取消下方注释
  # geom_point(data = exp_curve, aes(x, y), color = "black", size = 1) +
  # geom_point(data = line_curves, aes(x, y, color = line_label), size = 1) +
  labs(x = "X", y = "Y", color = "直线", linetype = "直线") +
  theme_minimal()

关键说明

  • 指数曲线公式在R中对应A * exp(B * sqrt(x) - C * x^3),其中sqrt(x)是x^0.5的等价写法,exp()为自然指数函数。
  • 多条直线通过遍历参数数据框实现,可自由调整颜色、线型来区分不同直线。
  • 可根据实际需求修改X轴取值范围(seq()函数的参数)、线条粗细、主题样式等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:25:01