web-dev-qa-db-ja.com

同じプロットに複数の関数曲線を描く

特定の関数に対応する曲線を描く方法は次のとおりです。

fun1 <- function(x) sin(cos(x)*exp(-x/2))
plot (fun1, -8, 5)

同じプロットに別の関数の曲線(たとえば、数式によっても定義されるfun2)を追加するにはどうすればよいですか?

25
Brani
plot (fun2, -8, 5, add=TRUE)

curveのヘルプページも確認してください。

25
Marek

matplotを使用:

fun1<-function(x) sin(cos(x)*exp(-x/2))
fun2<-function(x) sin(cos(x)*exp(-x/4))
x<-seq(0,2*pi,0.01)
matplot(x,cbind(fun1(x),fun2(x)),type="l",col=c("blue","red"))
26
mbq

points関数を使用します。 plotとまったく同じ構文です。

したがって、たとえば:

fun1 <- function(x) sin(cos(x)*exp(-x/2))

x <- seq(0, 2*pi, 0.01)
plot (x, fun1(x), type="l", col="blue", ylim=c(-0.8, 0.8))
points (x, -fun1(x), type="l", col="red")

ylimxlim、タイトルなどのプロットパラメーターは、最初のplot呼び出しからのみ使用されることに注意してください。

8
nico

Par()を使用する

fun1 <- function(x) sin(cos(x)*exp(-x/2))
fun2 <- function(x) sin(cos(x)*exp(-x/4))

plot(fun1, -8,5)
par(new=TRUE)
plot(fun2, -8,5)
6