2010-03-04 3 views
2

많은 데이터 포인트가있는 큰 차트가 있습니다. R에서 qplot을 만들면 차트가 자동으로 창에 맞춰집니다. 창을 최대화해도 차트가 너무 작아서 세부 정보가 손실됩니다. 큰 PNG로 저장 한 다음 이미지 뷰어로 1 : 1 해상도로 특정 영역을 봅니다 (R에서는 쉽게 확대 할 수 없기 때문에). 차트를 다양한 범위의 값으로 렌더링하는 것은 그리 편리하지 않습니다. 하위 그래프를 미리 생성하지 않고 하나의 PNG로 스크롤하여 다른 사람들과 토론하고 싶습니다.창보다 큰 qplots (ggplot2 사용)을 만드시겠습니까?

이것이 가능합니까? 나는 그런 종류가 될 것으로 기대하지만 어떤 도움을 주시면 감사하겠습니다. (저는 최근에 R로 시작 했으므로 여전히 주위를 찾고 있습니다).

감사합니다.

답변

4

한 가지 방법은 다음과 같습니다

myfile <- tempfile()     # portable across OSs 
pdf(file=myfile, height=20, width=20) # 20x20 inches, adjust at will 
plot(....)        # or print(....) for lattice + ggplot2 
dev.off()        # finalize and close file 
cat("Look at", myfile, "\n") 

지금은 임시로 차트를 검사합니다. 파일을 방금 만든 PDF 뷰어로 확대/축소 할 수 있습니다.

+0

감사합니다. 이것은 PDF를 생성했는데, Foxit은 22MB 파일에서 질식합니다 (최소한 100 % CPU가 5 분 후에도 여전히 처리 중입니다). 나는 더 많은 시간을 줄 것이다. PDF가 아니라 PNG로 출력 할 수 있습니까? 그래픽 뷰어는 대용량 파일을보다 쉽게 ​​처리합니다. 그렇지 않다면 나는이 해결책으로 살 수있다. 다른 질문 (http://stackoverflow.com/questions/2367328/how-to-change-current-plot-window-size-in-r)에서 나는 'dev.new'에 대해 배웠고, 나는 그 중 하나와 함께 놀 것이다. 게다가. 다시 한 번 감사드립니다. – wishihadabettername

+0

크기를 조정하고 확대/축소하려는 경우 png와 같은 손실 형식을 원하지 않습니다. –

+0

PNG는 손실이 없으며 JPG를 생각하고 있습니다. http://en.wikipedia.org/wiki/Portable_Network_Graphics 참조 – wishihadabettername

4

체크 아웃 this previous question 및 답변 : 기본적으로

, 당신은 기반 svg 벡터를 기반으로 파일이 아닌 픽셀을 만들 카이로 패키지를 사용할 수 있습니다, 그때 Inkscape에서 다음을 편집 할 수 있습니다 그리고 난 당신이 볼 수 있다고 생각 파이어 폭스 (???)로 지시합니다.

library(Cairo) 
Cairo(600,600,file="testplot.svg",type="svg",bg="transparent",pointsize=8, units="px",dpi=400) 
testplot 
dev.off() 
Cairo(1200,1200,file="testplot12200.png",type="png",bg="transparent",pointsize=12, units="px",dpi=200) 
testplot 
dev.off() 

지금 나는 그것이 파일을 쓰기 전에 할 수있는 내 음모 좋은 얻기 위해 다양한 설정으로 놀러했다. (중요한 설정은 포인트 크기 인 것처럼 보입니다. 그래프의 포인트 크기, 분명히 dpi 등)

+0

고마워, 오늘 시험해 볼게. – wishihadabettername

관련 문제