如何在R中绘制函数曲线
绘制一个简单的曲线的function是什么样的
eq = function(x){x*x}
在R?
这听起来很明显的问题,但我只能在stackoverflow上find这些相关的问题,但它们都更具体
- 在R中绘制线function
- 在R中的数据点之上绘制函数
- 我怎样才能绘制复杂的数字R函数?
- 如何绘制一个简单的分段线性函数?
- 在同一个绘图中绘制多个函数曲线
我希望我没有写一个重复的问题。
我在网上做了一些search,这是我发现的一些方法:
最简单的方法是使用没有预定义函数的曲线
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,你可以selectqplot
library("ggplot2") eq = function(x){x*x} qplot(c(1,50), fun=eq, stat="function", geom="line", 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, geom="line") + xlab("x") + ylab("y")
plot
有一个plot.function
方法
plot(eq, 1, 1000)
要么
curve(eq, 1, 1000)
你是这个意思吗?
> eq = function(x){x*x} > plot(eq(1:1000), type='l')
(或者任何范围的值都与你的function有关)
这是一个格子版本:
library(lattice) eq<-function(x) {x*x} X<-1:1000 xyplot(eq(X)~X,type="l")
晶格解决scheme,我需要额外的设置:
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 )
- 如果你需要以不同于1的增量绘制x的值范围,例如0.00001,你可以使用:
X <-SEQ(0,10,0.00001)
- 你可以通过定义一个rgb值来改变你的行的颜色:
col = rgb(red = 255,green = 90,blue = 0,maxColorValue = 255)
- 您可以通过设置来改变绘制线的宽度:
lwd = 2
- 您可以通过缩放标签来更改标签的大小:
cex.lab = 3.5,cex.axis = 3.5