【发布时间】:2021-12-29 10:04:37
【问题描述】:
假设我们有函数y = x^2,我们可以像这样从x=0 到x=100 绘制这个连续 函数:
library("ggplot2")
eq = function(x){x^2}
ggplot(data.frame(x=c(1, 100)), aes(x=x)) +
stat_function(fun=eq) +
theme_void()
问题
但假设我们希望定义一个非连续函数,例如,它与y=x^2 相同,但 x 没有介于 20 和 30 以及 50 和 70 之间的值。我们如何定义它?
上下文
我正在尝试将下面的第二行 (eq = function(x){x*x}) 替换为绘制非连续函数所需的任何内容(即保持所有其他代码相同)。
library("ggplot2")
eq = function(x){x*x} # CHANGE ONLY THIS LINE (IF POSSIBLE)
ggplot(data.frame(x=c(1, 100)), aes(x=x)) +
stat_function(fun=eq) +
theme_void()
我将尝试在同一个绘图上绘制 许多 个非连续函数,因此我怀疑绘图本身的任何 hack(例如,在连续函数顶部添加元素)都不会缩放嗯..
【问题讨论】: