2015-01-07 3 views
2

와 이미지에 제목을 추가R은 - 내가</p> <p>지금까지 내가 가진 격자를 만들 수 있습니다 R.에서 4x3의 격자로 하나의 플롯에 결합하려는 12 개 열두 PNG 파일을,이 rasterImage

plot(c(0,4), c(0,3), type = "n", xaxt = "n", yaxt = "n", xlab = "", ylab = "") 

와 나는 함께 이미지를 추가 할 수

rasterImage(readPNG("image1.png"), 0, 3, 1, 2) 
rasterImage(readPNG("image2.png"), 1, 3, 2, 2) 

내가 원하는 것을 얻을 수 있지만 또한 TITL를 추가 할 e를 플롯의 각 이미지에 적용합니다. 이미지 1처럼 이 있어야합니다. 이미지 1이고 이미지 2는 이어야합니다. b. 이미지 2 이미지 위에. R에서 할 수있는 방법이 있습니까?

미리 감사드립니다.

답변

3

@text 완벽하지만, 사용하는 BondedDust의 제안 mfrow (또는 mfcol를 사용하여) par의 그래픽 매개 변수는 플롯의 그리드를 배치하는 것이 현명 할 수 있습니다. 그런 다음 plot(..., main='foo') 또는 title(main='foo')을 사용하여 제목을 추가 할 수 있습니다.

  1. 그래픽을 PNG로 다운로드 몇 가지 예제, 그리고리스트로 읽을 : 4 행과 3 열을 가지고있는 플롯을 설정하고 상단 여백을 추가

    library(png) 
    pngs <- lapply(LETTERS[1:12], function(x) { 
        u <- 'http://icons.iconarchive.com/icons/mattahan/umicons/64' 
        download.file(mode='wb', sprintf('%s/Letter-%s-icon.png', u, x), 
           f <- tempfile(fileext='.png')) 
        readPNG(f) 
    }) 
    
  2. 사용 mfrow 예를 들어 mar 인 제목의 경우 보다

    par(mfrow=c(4, 3), mar=c(0, 0, 3, 0)) 
    sapply(seq_along(pngs), function(i) { 
        plot.new() 
        plot.window(xlim=c(0, 1), ylim=c(0, 1), asp=1) 
        rasterImage(pngs[[i]], 0, 0, 1, 1) 
        title(paste0(letters[i], '. Image ', i), font.main=2) 
    }) 
    

enter image description here

+1

더 나은 그런 다음 차례로 각각의 플롯 (요소, 12을 통해, 음, 실제로 인덱스 1를) pngs의 요소를 반복하는 (예를 들어) sapply를 사용 광산. 나는 main = bquote (굵게 (paste (LETTERS [i], 'Image', i))))')를 제안하려고했으나 font = 2 옵션을 사용했음을 알았다. –

+0

@BondedDust 아직'bquote','expression','plotmath' 등에 익숙하지 않아요. 웬일인지 내 머리를 들겠습니다! – jbaums

+1

나는 SO에 대한 당신의 다른 기여를 보아 왔습니다. 나는 그들이 당신을위한 유용한 도구가 될 것이라는 점을 의심의 여지가 없습니다. 나는 플롯 매스 (plotmath) 페이지가 매우 저조한 것으로 생각한다고 생각한다. Rhelp의 Peter Dalgaard와 Gabor Grothendeick의 사례를 통해이 예제를 익혔습니다. –

1

이 시도 :

text(x=0.5,y=2.95, labels="a. Image1") 
text(x=1.5,y=2.95, labels="b. Image1") 

는 대담하기 위해 필요한 경우, 표현은 필요 plotmath :

text(x=1.5,y=2.95, labels=expression(bold(b.~Image1)) )