plot.new () 오류 : 그림 여백이 너무 큼, 산점도


109

솔루션에 대한 다른 질문을 살펴 보았고 제안 된 것을 시도했지만 작동 할 수있는 솔루션을 찾지 못했습니다.

이 코드를 실행하고 싶을 때마다 항상 다음과 같이 말합니다.

plot.new () 오류 : 그림 여백이 너무 큼

그리고 나는 그것을 고치는 방법을 모릅니다. 내 코드는 다음과 같습니다.

par(mfcol=c(5,3))
hist(RtBio, main="Histograma de Bio Pappel")
boxplot(RtBio, main="Diagrama de Caja de Bio Pappel")
stem(RtBio)
plot(RtBio, main="Gráfica de Dispersión")

hist(RtAlsea, main="Histograma de Alsea")
boxplot(Alsea, main="Diagrama de caja de Alsea")
stem(RtAlsea)
plot(RtTelev, main="Gráfica de distribución de Alsea")

hist(RtTelev, main="Histograma de Televisa")
boxplot(telev, main="Diagrama de Caja de Televisa")
stem(Telev)
plot(Telev, main="Gráfica de dispersión de Televisa")

hist(RtWalmex, main="Histograma de Walmex")
boxplot(RtWalmex, main="Diagrama de caja de Walmex")
stem(RtWalmex)
plot(RtWalmex, main="Gráfica de dispersión de Walmex")

hist(RtIca, main="Histograma de Ica")
boxplot(RtIca, main="Gráfica de caja de Ica")
stem(RtIca)
plot(RtIca, main="Gráfica de dispersión de Ica")

어떡해?



2
여백이 이미지에 비해 너무 큰 것 같습니다. 이것은 작은 플롯 창이있는 경우 발생할 수 있습니다. 어쨌든 설명은 문제를 진단하기에 불충분합니다. 플롯 창에서 R 세션의 재현 가능한 예제 또는 스크린 샷을 사용할 수 있습니다.
Roman Luštrik

제 경우에는 plot(df[1,1:3], df2[1,1:3])다음 과 같이 플로팅 될 데이터의 작은 하위 집합으로 디버깅하는 데 도움이되었습니다. 그리고 실제로 수행하고 싶은 작업은 다음을 plot(unlist(df[1,1:3]), unlist(df2[1,1:3]))참조 하는 것임을 깨달았습니다 . stackoverflow.com/a/17074060/6018688
fabianegli

답변:


164

플롯을 생성 할 때마다 " Error in plot.new() : figure margins too large" 오류가 발생할 수 있습니다 . 이러한 오류를 방지하려면 먼저 par("mar")출력을 확인할 수 있습니다 . 다음을 받아야합니다.

[1] 5.1 4.1 4.1 2.1

해당 쓰기를 변경하려면 :

par(mar=c(1,1,1,1))

이렇게하면 오류가 수정됩니다. 또는 그에 따라 값을 변경할 수 있습니다.

이것이 당신을 위해 작동하기를 바랍니다.


2
여백 안에 어떤 값이 있는지 정확히 어떻게 알 수 있습니까? 그리고 왜 내가 [1] 5.1 4.1 4.1 2.1을 얻어야한다고 말하지만 그 다음 모두 1로 변경하라고 말합니까?
Herman Toothrot

2
RStudio에서 같은 문제가 발생했고 입력했을 때 par("mar")정확히 동일한 문자열을 검색하여 [1] 5.1 4.1 4.1 2.1입력 par(mar=c(1,1,1,1))했지만 plot ()은 아무것도 플롯하지 않으므로 RStudio와 터미널을 모두 닫아야했습니다. RStudio를 다시 열면 정상으로 돌아 왔습니다.
noobninja

2
RStudio의 R 마크 다운에서도 동일한 문제가 발생합니다. Guest R의 솔루션이나 @noobninja restart 모두 나를 위해 수정하지 않았습니다.
SC.

이 오류는 코드에 문제가있는 것이 아니라 RStudio UI 레이아웃 문제로 인해 발생합니다. 두 번째 대답은 나를 위해 그것을 고쳤습니다.
Nicole Sullivan

1
@Nicole Sullivan RStudio 없이도이 오류가 발생했습니다. 나는 설명대로했고 작동합니다. 감사합니다 @djhurio!
김광진

106

이는 RStudio의 플롯 패널이 생성하려는 플롯의 여백에 비해 너무 작을 때 발생할 수 있습니다. 확장을 시도한 다음 코드를 다시 실행하십시오.

RStudio UI는 플롯 패널이 너무 작아서 차트를 표시 할 수없는 경우 오류를 발생시킵니다. 플롯 패널이 너무 작은 RStudio

플롯 패널을 확장하기 만하면 버그가 수정되고 차트가 표시됩니다. 플롯 패널이 확장 된 RStudio


5
그것은 참으로 간단하게 그림 영역을하는 데 도움이 확장 .. 작동
Jiapeng 장

3
예, RStudio의 패널 크기 조정이 작동합니다. 플롯 패널을 밀어서 UI의 오른쪽을 최소화 할 때 발생하는 RStudio 버그입니다.
Nicole Sullivan

이것은 실제로 대부분의 경우에서 작동합니다. 여백이 너무
작아서이

27

dev.off()RStudio를 호출 하여 기본 설정으로 새 그래픽 장치를 열었습니다. HTH.


1
그 방법을 설명해 주시겠습니까?
Swift Arrow

20

RStudio에서이 메시지가 표시되면 Plots 탭에서 'broomstick'그림 "Clear All Plots"를 클릭하고 plot ()을 다시 시도하십시오.

또한 명령을 실행하십시오

graphics.off()

11
이 세 줄을 작성하십시오graphics.off() par("mar") par(mar=c(1,1,1,1))
Hiren


1

그냥 부수입니다. R에 고해상도 그림 (예 : dpi = 300또는 res = 300) 을 저장 하려고하기 때문에 때때로이 "여백"오류가 발생합니다 .
이 경우해야 할 일은 너비와 높이지정하는 것 입니다. (Btw, ggsave() 이것을 필요로하지 않습니다.)

이로 인해 여백 오류가 발생합니다.

# eg. for tiff()
par(mar=c(1,1,1,1))
tiff(filename =  "qq.tiff",
     res = 300,                                                 # the margin error.
     compression = c( "lzw") )
# qq plot for genome wide association study (just an example)
qqman::qq(df$rawp, main = "Q-Q plot of GWAS p-values", cex = .3)
dev.off()

이렇게 하면 여백 오류 가 수정됩니다 .

# eg. for tiff()
par(mar=c(1,1,1,1))
tiff(filename =  "qq.tiff",
     res = 300,                                                 # the margin error.
     width = 5, height = 4, units = 'in',                       # fixed
     compression = c( "lzw") )
# qq plot for genome wide association study (just an example)
qqman::qq(df$rawp, main = "Q-Q plot of GWAS p-values", cex = .3)
dev.off()
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.