[r] 디스크에 플롯을 이미지로 저장하는 방법은 무엇입니까?

R을 사용하여 간단한 선형 회귀를 플로팅합니다. 해당 이미지를 PNG 또는 JPEG로 저장하고 싶습니다. 자동으로 할 수 있습니까? (코드를 통해)

두 가지 다른 질문이 있습니다. 첫째, 이미 모니터에서 줄거리를보고 있는데 그대로 저장하고 싶습니다. 둘째, 아직 플롯을 생성하지 않았지만 플로팅 코드를 실행할 때 직접 플롯을 디스크에 저장하고 싶습니다.



답변

밀접하게 관련된 두 가지 질문과 각각에 대한 답변이 있습니다.


1. 나중에 스크립트에서 이미지가 생성됩니다. 어떻게 디스크에 저장합니까?

플롯을 저장하려면 다음을 수행해야합니다.

  1. 사용하여, 장치를 열고 png(), bmp(), pdf()또는 유사한
  2. 모델 플롯
  3. 사용하여 장치를 닫습니다 dev.off()

플롯을 png파일로 저장하기위한 예제 코드 :

fit <- lm(some ~ model)

png(filename="your/file/location/name.png")
plot(fit)
dev.off()

이것은 그래픽 형식에 대한 (결합) 도움말 페이지에 설명되어 있습니다 ?png, ?bmp, ?jpeg?tiff뿐만 아니라에 대한 별도의 도움말 페이지에서 ?pdf.

그러나 예를 들어 화면 창 크기를 조정 한 경우 이미지가 화면에 직접 플롯 된 동일한 플롯으로 디스크에서 이미지가 다르게 보일 수 있습니다.


플롯 중 하나에 의해 플롯이 작성 lattice되거나 ggplot2플롯을 명시 적으로 인쇄해야하는 경우에 유의하십시오 . 이것을 자세히 설명하고 R FAQ에 링크 된이 답변을보십시오 : ggplot의 qplot은 소싱시 실행되지 않습니다.


2. 현재 화면에서 플롯을보고 있는데 ‘있는 그대로’디스크에 복사하려고합니다.

dev.print(pdf, 'filename.pdf')

대화식 창에서 수행 한 크기 조정을 고려하여 이미지를 완벽하게 복사해야합니다. 이 답변의 첫 번째 부분 pdf과 같이와 같은 다른 파일 형식으로 바꿀 수 있습니다 png.


답변

R에서 플롯을 계속 보려면 다른 옵션을 사용하십시오 dev.copy.

X11 ()
plot (x,y)

dev.copy(jpeg,filename="plot.jpg");
dev.off ();

R에서 너무 많은 플롯 윈도우가 복잡해지면 graphics.off()모든 플롯 윈도우를 닫으십시오.


답변

ggplot2원하는 저장 방법 을 사용 하는 경우를 사용 하는 것입니다 ggsave. 먼저 호출하는 플롯을 만든 후 플롯해야합니다 ggsave.

ggplot(...)
ggsave("plot.png")

이미지 형식은 파일 이름으로 선택한 확장자에 따라 결정됩니다. 추가 매개 변수로 전달 될 수있다 ggsave, 특히 width, height하고 dpi.


답변

이렇게

png('filename.png')
# make plot
dev.off()

아니면 이거

# sometimes plots do better in vector graphics
svg('filename.svg')
# make plot
dev.off()

아니면 이거

pdf('filename.pdf')
# make plot
dev.off()

그리고 아마도 다른 사람들도. 도움말 페이지에 모두 함께 나열되어 있습니다.


답변

첫 번째 질문은 dev.print대화식으로 작업 할 때 최고 라고 생각 합니다. 먼저, 플롯을 시각적으로 설정하고보고있는 내용에 만족하면 R에 현재 플롯을 디스크에 저장하도록 요청할 수 있습니다.

dev.print(pdf, file="filename.pdf");

pdf와 같은 다른 형식으로 바꿀 수 있습니다 png.

이미지가 화면에 표시된 그대로 정확하게 복사됩니다. 문제 dev.copy는 이미지가 종종 다르고 창 크기와 종횡비를 기억하지 못한다는 것입니다. 기본적으로 플롯은 정사각형이됩니다.

두 번째 질문 (다른 사람들이 이미 대답했듯이)의 플로팅 명령을 실행하기 전에 출력을 디스크로 보내야합니다.

pdf('filename.pdf')
plot( yourdata )
points (some_more_data)
dev.off() # to complete the writing process and return output to your monitor


답변

R Studio http://rstudio.org/ 를 사용하는 경우 원하는 형식과 원하는 해상도로 플롯을 저장하는 특수 메뉴가 있습니다


답변

당신이 사용하는 디바이스를 열 경우 png(), bmp(), pdf()에 의해 제안 등 Andrie (가장 좋은 답), 플롯과 창문이 열려 팝업되지 않습니다, 단지 * .PNG, * BMP 또는 * .PDF 파일이 생성됩니다. R은 제한된 수의 그래픽 창만 처리 할 수 ​​있기 때문에 대규모 계산에 편리합니다.

그러나 플롯을보고 저장하려는 경우 savePlot(filename, type)플롯을 그린 후 플롯이 포함 된 창이 활성화 된 후 호출 합니다.