2016-10-11 2 views
2

두 그래프를 같은 그래프에 플롯하려하지만 작동하지 않습니다. 나는 x [0,6]에 x> 3 인 경우 x< = 3이고 f (x) = 2x-0.5x^2 인 경우 함수 f (x) = 3x + 2를 플롯하려고합니다. 나는동일한 플롯에서 두 단계로 조각 별 회귀를 그립니다.

curve(3*x+2, 0,3)

및을 할 수 있다고 생각

curve(2*x-0.5*x^2,3,6, add = TRUE) 

나는 그런 기능을 플롯하기 위해 무엇을 할 수 있을까?

+0

한계가 꺼져 있습니다. 첫 번째 곡선 호출에서 xlim과 ylim을 조정하여 두 번째 곡선이 표시되도록해야합니다. 그래서 첫 번째 커브 호출에'ylim = c (-5, 10), xlim = c (0,6)'을 추가하십시오. – jmartindill

답변

1

사용 xlimylim는 플롯의 한계를 설정합니다.

curve(3*x+2, 0,3, xlim = c(0, 6), ylim = c(-5, 12)) 
curve(2*x-0.5*x^2,3,6, add = TRUE) 
두 번째 곡선은 여전히 ​​조금 잘라 도착으로

enter image description here

, 당신은 Y 한계에 대한 c(-7 12)을 사용할 수 있습니다. 당신이 원하는 경우

또 다른 옵션은 선이 연결되어 ifelse 하나에 두 가지 기능을 인코딩하는 수동 제한을 설정해야 할 필요성을 제거한다 :

curve(ifelse(x <= 3, 3 * x + 2, 2 * x - 0.5 * x^2), 0, 6, ylab = "f(x)") 

enter image description here

0

예를 들어 이렇게 할 수 있습니다. 두 커브를 함께 사용하게됩니다. 첫 번째 curve에서

c1 <- curve(2*x-0.6*x^2,3,6) 
c2 <- curve(2*x-0.5*x^2,3,6) 

plot(c1) 
lines(c2, col="red") 

enter image description here

관련 문제