해당 포스트는 네이버지식인을 통해 질문받은 'RStudio 그래프 팝업창 안 뜨게 하는 방법'에 대한 답변을 공유하는 글입니다.
질문
RStudio 그래프를 출력하면 사진처럼 옆에 R 프로그램에서 나온느게 아니라 따로 팝업창으로 나옵니다... 불편해서 바꾸고 싶은데 어떻게 바꾸나요?
풀이
RStudio에서는 그래픽 설정을 통해 출력 결과를 다양하게 표현할 수 있습니다. 질문 상황은 이전 코드 어디에선가 그래픽 출력창을 생성하는 x11()
이 실행되었고, 이로 인해 그래픽 출력 결과가 내부가 아닌 팝업으로 생성된 출력창에 출력되는 상황인 것으로 보입니다.
이러한 상황은 dev.off()
명령어 실행으로 간단히 해결 가능하며, 아래에서는 두 명령어에 대한 설명과 간단한 테스트 코드를 설명합니다.
1. x11()
x11()
함수는 RStudio에서 그래픽 디바이스를 생성하는 함수입니다. 이 함수를 호출하면 새로운 창이 생성되고 R에서 그래픽을 그릴 수 있는 빈 도화지가 준비됩니다. 그래픽 함수들을 사용하여 그림을 그릴 수 있고, 그림을 다양한 형식으로 저장하거나 인쇄할 수 있습니다.
2. dev.off()
dev.off()
함수는 현재 활성화된 그래픽 디바이스를 닫는 함수입니다. R에서 그린 그림을 저장하거나 인쇄하기 전에 이 함수를 사용하여 그래픽 디바이스를 닫아야 합니다. 이 함수를 호출하면 현재 그래픽 디바이스가 닫히고, RStudio에서 새로운 그래픽 디바이스를 생성하거나 다른 작업을 수행할 수 있습니다.
3. 예시 코드
아래에서는 cars
데이터셋을 사용하여 그래프를 그리는 예시를 설명합니다. 아래 명령어를 실행하면, cars
데이터의 6줄을 탐색하고, 산점도를 출력합니다.
# 데이터 확인
head (cars)
# 그래프 출력 -> 내부 출력창에 출력됨
plot(cars)
아래에서는 x11()
함수를 실행한 후에 그래프를 출력하고, 새로 만들어진 팝업 그래픽창을 해제해 보겠습니다.
# 새로운 그래픽 디바이스 생성
x11()
# 그래프 출력 -> 새로 만들어진 그래픽 팝업창에 출력됨
plot(cars)
# 현재 활성화된 그래픽 디바이스 닫기 -> 팝업창 해제
dev.off()
위 명령어를 차례대로 실행하면 팝업 창에 출력된 그래프가 dev.off()
명령어 실행으로 없어지는 것을 확인하실 수 있습니다. 이후 다시 그래프를 출력해 보면 내부 출력창에 시각화 결과가 출력되는 것을 확인하실 수 있습니다.
# 그래프 출력 -> 내부 출력창에 출력됨
plot(cars)
마무리
이 포스트에서는 RStudio에서 cars
데이터셋을 이용하여 x11()
, dev.off()
를 활용해 그래프를 그리는 예시를 다루었습니다. 네이버 지식인을 통해 자주 질문받는 내용이라 포스트를 작성하게 되었으며, 많은 분들에게 도움이 되셨으면 좋겠습니다.
관련 링크
[1] 네이버 지식인
[2] [R] Error in plot.window(...) : 유한한 값들만이 'xlim'에 사용될 수 있습니다
[3] [R] 에러: 예상하지 못한 기호(symbol)입니다. (Error: unexpected symbol)