绘制与给定函数对应的曲线的方法是:
fun1 <- function(x) sin(cos(x)*exp(-x/2))
plot (fun1, -8, 5)
Run Code Online (Sandbox Code Playgroud)
如何在同一个图中添加另一个函数的曲线(例如fun2,也由其数学公式定义)?
有没有办法使用ggplot在数据之上叠加数学函数?
## add ggplot2
library(ggplot2)
# function
eq = function(x){x*x}
# Data
x = (1:50)
y = eq(x)
# Make plot object
p = qplot(
x, y,
xlab = "X-axis",
ylab = "Y-axis",
)
# Plot Equation
c = curve(eq)
# Combine data and function
p + c #?
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我的数据是使用函数生成的,但我想了解如何使用curve()ggplot.
该图说明了我的绘图目标。在此图像上,忽略x1的垂直斜率。完全废话。在x取值为x1或更大或y等于0时,根本就没有定义该函数。
我有以下两个条件的分段线性函数。您如何在R中绘制该图?从语义上讲,我想声明:“如果x等于或大于20(x1),则y必须为零,否则y等于mx + y1?mx1。” 。该斜率减小,并将y设置为20。
f(x)= {m x + y 1 − m x 1如果0≤x <x 1如果x≥x 1到目前为止,我已经尝试过(不确定如何设置y1)
m <- -2
x1 <- 20
y1 <- ???
x <- seq(0, 100, 1)
fx <- (0 <= x & x < x1) * (m*x + y1 - m*x) + (x >= x1) * 0
plot(x, fx)
Run Code Online (Sandbox Code Playgroud)
当然,这会导致错误。
Error in xy.coords(x, y, xlabel, ylabel, log) :
'x' and 'y' lengths differ
Run Code Online (Sandbox Code Playgroud)
我不确定如何表示y和y1。
我想在R中绘制以下函数
f(w) = 1/(1-5*e^(-iw))
Run Code Online (Sandbox Code Playgroud)
其中i是-1的平方根.R可以在绘图中处理复数吗?
我可以在 ggplot2 中绘制一个函数,如下所示:
library(ggplot2)
ggplot(data.frame(x=0), aes(x)) + geom_function(fun = sin) + xlim(c(-5,5))
Run Code Online (Sandbox Code Playgroud)
我可以使用 ggplot2 的分面来绘制多个函数的图,每个分面一个吗?(例如正弦和余弦)