为像这样的函数绘制简单曲线有哪些选择
eq = function(x){x*x}
在R?
听起来这是一个显而易见的问题,但我只能在stackoverflow上找到这些相关问题,但它们都更加具体
希望我不要写重复的问题。
为像这样的函数绘制简单曲线有哪些选择
eq = function(x){x*x}
在R?
听起来这是一个显而易见的问题,但我只能在stackoverflow上找到这些相关问题,但它们都更加具体
希望我不要写重复的问题。
Answers:
我在网上做了一些搜索,这是我发现的一些方法:
最简单的方法是使用不带预定义功能的曲线
curve(x^2, from=1, to=50, , xlab="x", ylab="y")
当您有预先定义的功能时,也可以使用曲线
eq = function(x){x*x}
curve(eq, from=1, to=50, xlab="x", ylab="y")
如果要使用ggplot,
library("ggplot2")
eq = function(x){x*x}
ggplot(data.frame(x=c(1, 50)), aes(x=x)) +
stat_function(fun=eq)
plot
有一种plot.function
方法
plot(eq, 1, 1000)
要么
curve(eq, 1, 1000)
plot(eq, 1, 1000)
在其他任何地方都没有看到您的示例。我也看到了curve(eq, 1, 100)
例子。有区别吗?
plot.function
实际调用curve
。另外,curve
可以将表达式作为输入,但plot
需要一个函数作为输入以分派给plot.function
我需要额外设置的莱迪思解决方案:
library(lattice)
distribution<-function(x) {2^(-x*2)}
X<-seq(0,10,0.00001)
xyplot(distribution(X)~X,type="l", col = rgb(red = 255, green = 90, blue = 0, maxColorValue = 255), cex.lab = 3.5, cex.axis = 3.5, lwd=2 )
X <-seq(0,10,0.00001)
col = rgb(红色= 255,绿色= 90,蓝色= 0,maxColorValue = 255)
lwd = 2
cex.lab = 3.5,cex.axis = 3.5
正如sjdh也提到的,ggplot2可以解救。不创建虚拟数据集的更直观的方法是使用xlim:
library(ggplot2)
eq <- function(x){sin(x)}
base <- ggplot() + xlim(0, 30)
base + geom_function(fun=eq)
另外,对于更平滑的图形,我们可以使用n设置图形被插值的点数:
base + geom_function(fun=eq, n=10000)
ggplot()
,该qplot()
函数被削弱了-例如,它不再接受该fun
参数(从v3开始)?