2012-11-12 8 views
5
library(maptools) 
data(wrld_simpl) 
plot(wrld_simpl) 
box() 

이것은 나에게 세계지도를 제공하고지도의 풍부한 흰 공백을 보여줍니다. 나는 많은 (~ 60) 개의지도를 인쇄 할 필요가 있기 때문에이 공간이 사라지길 바란다. 지도가 삽입 될 보고서에 knitr을 사용하고 있습니다. 예 :세계지도의 공백 여백을 줄이는 방법

Here is some text. 
<<chunk.maps, eval = TRUE>>= 
library(maptools) 
plot(wrld_simpl) 
box() 
@ 
And some more text. 

그러나 이것은 knitr 질문이라고 생각하지 않습니다. 따라서 :

  1. 어떻게 공백을 제거 할 수 있습니까?
  2. 지도가 왼쪽에서 오른쪽으로 내 페이지를 채우는 것을 어떻게 확인할 수 있습니까?

나는 par, mar, mai 시도하지 않은,하지만 그런 행운이! 나는 청크 옵션에 대한 out.width이 내 질문 2에 대한 결과를 줄 것이라고 추측하지만, 나는 너무 심하게 질문 1에 갇혀 있기 때문에 말할 필요가 없습니다.

대단히 감사합니다! 여기에서 배울 점이 많습니다!

+0

'plot'을 호출하기 전에'par (mar = rep (0,4))'를 삽입 해 보았습니까? 지금은 knitr/latex로는 확인할 수 없지만 많은 R 그래픽 장치에서 공백을 제거합니다. – BenBarnes

+0

'plot() '을 호출하기 전후에'par (...)'를 호출하면 불행하게도 그 트릭이 수행되지 않습니다. 그래도 감사합니다. 그것은 시험 할 가치가 있었다. – Gerit

답변

3

나는지도의 이러한 종류의 ggplot2를 사용

require(ggplot2); theme_set(theme_bw()) 
wrld_simpl_df = fortify(wrld_simpl) 
ggplot(wrld_simpl_df, aes(x = long, y = lat, group = group)) + 
    geom_path() + coord_equal() 

enter image description here

이것은 또한 당신에 대해 불평 공백이 포함되어 있습니다. 문제는 x 축과 y 축의 종횡비가 고정되어 있다는 것입니다. 따라서 정사각형 그래픽 장치를 선택하면 위아래로 흰색 테두리가 생깁니다. 해결책은 그래픽 장치를 플롯과 대략 동일한 비율로 만드는 것입니다. 이 작업을 수행하려면 fig.widthfig.height을 사용하십시오. 자세한 내용은 this link을 참조하십시오. 정확한 비율로 위의 플롯을 절약 그림과 같이

ggsave("/tmp/plt.png", width = 16, height = 9) 

enter image description here

문제는 더 이상 존재하지 않는다.

+0

청크 옵션에서'fig.height'와'fig.width'만으로 그래프의 모양을 바꿀 수있었습니다. 이것이 내가 원하는거야. 큰! 처음에는 제목과 전설이 너무 작았지만'par (cex = 2) '로 고정 시켰습니다. 고맙습니다! (그리고'ggplot2' -phew!) – Gerit

+0

네, 맵을 그릴 때 플롯의 크기에주의를 기울여야합니다 (예를 들어 적절한' fig.height'와'fig.width'를 사용하여지도가 공백을 채 웁니다.); 다른 방법은 단순히 사진을 남기고 그 이후에 자르기를하는 것입니다 (이미지 자르기에 대한 [그래픽 매뉴얼] (https://github.com/downloads/yihui/knitr/knitr-graphics.pdf) 참조) –

+0

@ 감사합니다. 감사합니다. 너, 너의 공헌에 감사한다. 이제 그래픽 설명서를 다시 확인 했으므로 실제로 지침을 따르려고했지만 실패했습니다. (나는 또한 그것을 언급해야한다는데 동의한다.) 오류 메시지를 게시 할 때 커뮤니티가 도움이된다면 다시 시도 할 수있다. 나는 그것을 위해 새로운 지위를 열 것이다. 알려줘. – Gerit