최근에 ggplot2로 플로팅을 많이 하면서 어떻게 하면 선명한 이미지를 얻어볼까 고민을 조금 했다. 그러다 DPI라든지 픽셀, 도트 같은 웹디자이너 분들이나 다룰 만한 지식을 섭렵하기에 이르렀는데, 결국 컴퓨터 화면에서는 고 해상도가 아닌 이상 플로팅 결과의 차이는 거의 찾아볼 수 없다는 게 결론이다. 그러나 그래프 이미지는 발표자료 같은 곳에서 사용될 수 있고, 이때 이들에서 최적의 해상도로 보여진다면 더 효과적인 발표가 될 것이다.
일단 간단한 예로 지난 포스팅의 결과를 가지고 테스트를 해보도록 하겠다.
지난 포스팅의 그래프를 72DPI의 결과와 600DPI의 결과의 이미지로 출력한다(R은 기본이 72DPI이다).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | library(ggplot2) blogstat <- read.table("SingleFeedStats.csv" ,sep=",", header=T, stringsAsFactors=F) blogstat$Date <- as.Date(blogstat$Date, "%m-%d-%Y") gg1 <- ggplot(blogstat, aes(Date,Subscribers)) + geom_line(aes(colour=Hits)) + xlab("날짜") + ylab("구독자") + scale_color_continuous(name="히트", low="yellow", high="black", guide = guide_legend(reverse=TRUE)) + scale_x_date(breaks ="6 month") gg1 tiff(file = "1nd.tiff",width = 648, height = 288, units = "px",type="cairo", family="PKS Bukul", antialias="subpixel" ,compression="lzw") gg1 dev.off() tiff(file = "2nd.tiff",width = 5400, height = 2400, units = "px",type="cairo", res=600,family="PKS Bukul", antialias="subpixel", compression="lzw") gg1 dev.off() |
1nd.tiff 파일은 648/72(9) inch X 288/72(4) inch 의 이미지 파일을 출력하고,
2nd.tiff 파일은 5400/600(9) inch X 2400/600(4) inch 의 이미지 파일을 출력한다.
모두 프린트시 9 X 4 inch의 파일을 생성하나 해상도는 차이가 있다. 이들의 차이점을 간단하게 테스트 하기 위해서 pdf 문서로 이미지를 출력 한 후 비교를 해본다.
문서를 72% 확대 후 비교해 보면 아래와 같이 별 차이가 없으나…
100%로 문서를 비교하게 되면 아래와 같은 차이가 보인다.
주로 발표할 때 한글과 컴퓨터의 한쇼를 쓰는데(정품을 가지고 있다는 이유 하나만으로…), 이 한쇼에서는 메뉴얼에 명시되지 않았지만 600DPI 이미지를 기본 사용하는 것으로 알고 있다. (이 부분은 이미지를 로딩해보고 상세 항목에서 이미지 크기를 확대/축소하지 않은 크기를 확인하면 알 수 있다)
R로 그래프 플로팅을 한 결과를 고품질 이미지로 프리젠테이션에 넣는다면 발표시 그리고 그 발표자료를 출력한 핸드아웃을 만들 때 그래프의 퀄리티는 차이가 날 것이다. 단 프린터의 경우 600DPI가 많지만, 프로젝터의 경우 그렇지 않은 경우가 있으므로 발표용 자료는 각자의 테스트가 필요할 거라 생각한다. 물론 내 경우는 모든 데이터 플로팅 결과는 600DPI다. 왜냐면 그래프는 라인이 만들어내는 Art의 한 종류이고 청중에게 가장 정확하고 명료하게 전달될 필요가 있는 중요한 개체이기 때문이다.
그리고 여담이지만 anti-aliasing 옵션은 요즘엔 필수다.
고품질의 플로팅 이미지 얻기 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.