如何在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') 

eq超过范围1:1000的情节

(或者任何范围的值都与你的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. 如果你需要以不同于1的增量绘制x的值范围,例如0.00001,你可以使用:

X <-SEQ(0,10,0.00001)

  1. 你可以通过定义一个rgb值来改变你的行的颜色:

col = rgb(red = 255,green = 90,blue = 0,maxColorValue = 255)

  1. 您可以通过设置来改变绘制线的宽度:

lwd = 2

  1. 您可以通过缩放标签来更改标签的大小:

cex.lab = 3.5,cex.axis = 3.5

示例图