2017-11-08 2 views
1

이것은 cairoDevice 패키지의 버그 일 수 있습니다. 이 패키지를 사용하여 미적 목적으로 앤티 앨리어싱 된 플롯을 생성합니다.for 루프에서 사용할 때 cairoDevice가 검은 색 이미지를 생성합니다.

루프에 대한로 실행할 때 간단한 코드가 작동하지 않습니다 다음

for (j in 1:4) { 

    Cairo(
    width = 12, 
    height = 4, 
    file = paste0("Test", j, ".png"), 
    surface = "png" 
) 

    qplot(1:j) 

    dev.off() 
} 

위 코드의 결과는 12x4 치수 4 개 완전히 검은 .PNG 이미지입니다.

하지만 루프의 내용을 선택하기 만하면 작동합니다 (콘솔에서 j를 1 씩 증가시켜 수동으로 반복해야 함).

Cairo()는 단순히 for 루프를 좋아하지 않는 것처럼 보입니다. Sys.sleep (2)를 사용하여 카이로 실행 시간을 늘려 보았지만 작동하지 않습니다.

답변

0

왜 작동하지 않는지 잘 모르겠지만 Cairo를 사용하여 png 파일을 만드는 이유는 무엇입니까? R에는 이미 png() 장치가 있습니다.

+0

안녕하세요. 내가 아는 바에 따르면, 카이로는 예술적으로 즐거운 그림을 만들어내는 앤티 앨리어싱을 제공합니다. 나는 또한 이것이 Windows R에 아직 존재하지 않는다는 것을 이해한다. 나는 나의 이해를 바로 잡을 수 있는가? –

관련 문제