直線(1次関数)や曲線(2次・3次関数)を描く
Rで直線や曲線を描く方法を高校で習ったような1次関数や2次関数などを例として説明します。基本的にはplot()の引数に関数を指定するかたちをとれば良いのですが(前半の3例),1つのデヴァイスに複数の直線や曲線を描く場合はpoints()を利用した方がよいでしょう(後半の3例)。
なお,横軸と縦軸を加えたり,あるいは補助線を入れる場合は描きたい関数の図を描く前に指定した方がよいです。例えば前半の3つの例はabline()で補助線を関数の図を描いた後に入れていますが,これだと関数の図の上に描かれてしまうため見にくいのです。後半の3例のようにした方が無難ですね。
*1次関数(直線):y=2x+1
y<-function(x) 2*x+1
plot(y,-5,5)
line<-seq(-10,10,by=1)
abline(h=line,v=line,lty=3,col="blue")
abline(h=0,v=0,lty=3,col="red")
*2次関数(放物線):y=2x2-3x+2
y<-function(x) 2*x^2-3*x+2
plot(y,-5,6,ylim=c(-5,20))
line.v<-seq(-4,6,by=1)
line.h<-seq(-5,20,by=1)
abline(h=line.h,v=line.v,lty=2,col="blue")
abline(h=0,v=0,lty=2,col="red")
*3次関数(曲線):y=x3+2x2-x+4
y<-function(x) x^3+2*x^2-x+4
plot(y,-5,5)
line.h<-seq(-50,150,by=10)
line.v<-seq(-5,5)
abline(h=line.h,v=line.v,lty=2,col="blue")
abline(h=0,v=0,lty=2,col="red")
これ以降はpoints()を使用して描く場合の例です。
plot(c(-5,5),c(-5,5),type="n")
abline(h=-5:5,v=-5:5,lty=3,col="gray")
abline(h=0,v=0,col="snow4")
x<-seq(-5,5,by=0.001)
points(x,2*x+1,pch=".")
plot(c(-5,6),c(-5,20),type="n")
abline(h=-5:20,v=-5:6,lty=3,col="gray")
abline(h=0,v=0,col="snow4")
x<-seq(-5,6,by=0.001)
points(x,2*x^2-3*x+2,pch=".")
plot(c(-5,5),c(-50,150),type="n")
abline(h=seq(-50,150,by=10),v=-5:5,lty=3,col="gray")
abline(h=0,v=0,col="snow4")
x<-seq(-5,5,by=0.001)
points(x,x^3+2*x^2-x+4,pch=".")