2016-10-21 4 views
0

기후도를 그려보고 다음 문제에 직면했습니다. 강수량을 막대 그래프 (...)로 사용한 후 온도에 대한 다른 플롯을 겹쳤습니다. 두 y 축 (mm, ° C)이 0으로 정렬되고 강수량/온도 비율이 2 : 1 (예 : 20mm 강수량은 10 ° C에 해당) 인 기후 도표가 필요합니다.바 plot 및 기본 플롯의 Y 축 위치가 일치하지 않습니다.

문제 : barplot (...)은 축을 플롯의 상자로 그리고 plot (...)은 상자와 축의 여백 사이에 약간의 간격을 둡니다.

다음은 단순화 된 예입니다. 격자 선에서 당신은 0 값이 일치하지 않는 것을 볼 수 :

barplot(0:10) 
    grid(col=1) 
par(new=TRUE) 
plot(0:10, xlim=c(-2,14), axes=FALSE) 
    axis(4,at=c(0:10), labels=c(0:10)) 

enter image description here

가 어떻게 두 축 오른쪽 위치와 스케일링을받을 수 있나요?

+0

일반적으로 복잡한 플롯 도면의 경우 ggplot2를 사용하는 것이 좋습니다. 그러나 이것은 플롯 할 때 상자 설정 때문일 수 있습니다. – Llopis

+0

간단한 그래프에 ggplot2를 사용하지 않는 것이 좋습니다. 나는 또한 par (...) 인수 "yaxs"를 찾았지만 견인 스타일 "R"만 정의했다. – MarioT

답변

0

par(new = TRUE)를 사용하지 마십시오 :

barplot(0:10) 
grid(col=1) 
lines(0:10, type = "p") 
axis(4,at = c(0:10), labels = seq(0,20,2)) 

기능 lines()이 바로 여기입니다. 점을 그리려면 인수 type = p이 필요합니다. 온도에 대한 y 값을 조정해야하지만 두 번째 y 축은 올바른 방법입니다.

+0

두 번째 y- 축 (설명 참조)에 다른 스케일링이 필요하기 때문에 이것이 작동하지 않는다 – MarioT

+0

아, 그래. 그래서 축 레이블을 변경했습니다. 이것은 내가 2로 온도를 곱해야 할 것 인 것을 의미한다. .. 그것은 일해야한다 – MarioT