Programing

R에서 함수 곡선을 그리는 방법

crosscheck 2020. 12. 4. 07:53
반응형

R에서 함수 곡선을 그리는 방법


다음과 같은 함수에 대한 간단한 곡선을 그리는 대안은 무엇입니까?

eq = function(x){x*x}

R에서?

분명한 질문처럼 들리지만 이러한 관련 질문은 stackoverflow에서만 찾을 수 있지만 모두 더 구체적입니다.

중복 질문을 쓰지 않았 으면 좋겠습니다.


이런 말인가요?

> eq = function(x){x*x}
> plot(eq(1:1000), type='l')

1 : 1000 범위에 대한 eq 플롯

(또는 함수와 관련된 값 범위)


웹에서 몇 가지 검색을했는데 다음과 같은 몇 가지 방법을 찾았습니다.

가장 쉬운 방법은 미리 정의 된 기능없이 곡선을 사용하는 것입니다.

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을 사용하려면 qplot 중에서 선택해야합니다.

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)

다음은 격자 버전입니다.

library(lattice)
eq<-function(x) {x*x}
X<-1:1000
xyplot(eq(X)~X,type="l")

격자 출력


필요한 추가 설정이있는 격자 솔루션 :

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과 다른 증분 (예 : 0.00001)으로 표시된 x 값의 범위가 필요한 경우 다음을 사용할 수 있습니다.

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

예제 플롯

참고 URL : https://stackoverflow.com/questions/26091323/how-to-plot-a-function-curve-in-r

반응형