plot.new()에 오류가 있습니다. : R에서 그림 여백이 너무 큽니다.
저는 R은 처음이지만 더 작은 데이터 세트로 수많은 상관 그림을 만들었습니다.그러나 큰 데이터 세트(2gb+)를 플롯하려고 하면 플롯을 생성할 수 있지만 범례가 나타나지 않습니다.조언이 있습니까?아니면 대안?
library(gplots)
r.cor <- cor(r)
layout(matrix(c(1,1,1,1,1,1,1,1,2,2), 5, 2, byrow = TRUE))
par(oma=c(5,7,1,1))
cx <- rev(colorpanel(25,"yellow","black","blue"))
leg <- seq(min(r.cor,na.rm=T),max(r.cor,na.rm=T),length=10)
image(r.cor,main="Correlation plot Normal/Tumor data",axes=F,col=cx)
axis(1, at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]],
cex.axis=0.9,las=2)
axis(2,at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]],
cex.axis=0.9,las=2)
image(as.matrix(leg),col=cx,axes=T)
오류가 .
plot.new()
이 너무 .
tmp <- round(leg,2)
axis(1,at=seq(0,1,length=length(leg)), labels=tmp,cex.axis=1)
이 오류는 단순히 "플롯" 창이 너무 작기 때문에 Rstudio에서 발생할 수 있습니다."파일, 플롯, 패키지, 도움말, 뷰어"를 확대하여 도움이 되는지 확인해 보십시오!
는 당신의 문제당입만작수영치역은 2니다에 작은 입니다.layout()
호출이 그래프는 말할 것도 없고 기본 여백만 포함할 만큼 충분히 크지 않습니다.
일반적으로 장치의 플로팅 영역 크기가 실제로 어떤 플로팅도 수행할 수 있을 만큼 크지 않은 경우 이 오류가 발생합니다.OP의 경우 모든 하위 플롯과 그 여백을 포함하고 그리기에 충분히 큰 플롯 영역을 남기기에는 너무 작은 플롯 장치가 문제였습니다.
플롯 탭이 너무 작아서 여백, 플롯 영역 등을 포함할 수 없을 경우 RStudio 사용자에게 이 오류가 발생할 수 있습니다.이는 해당 창의 실제 크기가 그래픽 장치의 크기이기 때문입니다.문제가 . 은 이들은독아문다닙니와 또 입니다. RStudio의 플롯 창은 다음과 같은 또 다른 플롯 장치일 뿐입니다.png()
,pdf()
,windows()
,그리고.X11()
.
솔루션은 다음과 같습니다.
여백의 크기를 줄일 수 있습니다. 특히 OP의 경우와 같이 동일한 장치에 여러 개의 플롯을 그리려는 경우 유용할 수 있습니다.
장에대호한장서물예치치리수적의증가에출치예치수증:(가▁incre▁ofasingensions)에서 치수 (예:
png()
,pdf()
etc) 장치가 표시됨) 또창장포창함된가/여백 크기 등을 제어할 수 있으므로 그래프의 텍스트 크기를 줄입니다.
여백 크기 줄이기
문제의 원인이 되는 라인 앞에서 다음을 시도합니다.
par(mar = rep(2, 4))
그런 다음 두 번째 이미지를 플롯합니다.
image(as.matrix(leg),col=cx,axes=T)
당신은 여백의 크기를 가지고 놀 필요가 있을 것입니다.par()
이 문제를 해결하기 위해 보여주는 콜.
장치 크기 늘리기
또한 표시할 실제 장치의 크기를 늘려야 할 수도 있습니다.
은 지막팁저,▁the를 저장하세요.par()
의 기본값을 합니다.par()
문의처:
op <- par(oma=c(5,7,1,1))
그리고 음모가 끝날 때.
par(op)
RStudio에서 이 메시지가 표시되면 Plots 탭에서 '브롬쇠' 그림 "Clear All Plots"를 클릭하고 Plot()을 다시 시도하면 됩니다.
R스튜디오에서는 가끔 이런 일이 발생합니다.이 문제를 해결하기 위해 외부 창(Windows 전용)으로 플롯을 시도할 수 있습니다.
windows() ## create window to plot your file
## ... your plotting code here ...
dev.off()
R Studio에서 이 오류가 발생하여 사이드바를 클릭하고 오른쪽에서 왼쪽으로 드래그하여 사이드바를 크게 수정했습니다.
사진: https://janac.medium.com/error-in-plot-new-figure-margins-too-large-in-r-214621b4b2af
개체가 목록인지 벡터인지 확인합니다.이 작업을 수행하려면 다음을 입력합니다.is.list(yourobject)
이것이 사실이면 이름을 변경해 보십시오.x<-unlist(yourobject)
이렇게 하면 그림을 그릴 수 있는 벡터가 됩니다.
RStudio를 사용하는 경우 이 영역을 확대/축소합니다.
저는 오늘 이 오류를 발견했습니다.처음에, 나는 그것을 출력하려고 했습니다..jpeg
너비와 높이가 낮은 파일입니다.
jpeg("method1_test.jpg", width=900, height=900, res=40)
나중에 너비와 높이를 다음과 같이 늘렸습니다.
jpeg("method1_test.jpg", width=1900, height=1900, res=40)
오류가 발생하지 않았습니다.:)
해상도를 가지고 놀 수도 있습니다. 해상도가 높으면 너비와 높이가 더 필요합니다.
고차원 데이터를 플롯할 때 이 오류가 발생했습니다.이러한 상황이라면 다차원적 확장을 시도해 보십시오. http://www.statmethods.net/advstats/mds.html
저는 (RStudio를 사용하여) 이 오류로 몇 주 동안 고생했습니다.저는 플롯 창을 점점 더 크게 움직여 보았지만, 그것은 지속적으로 도움이 되지 않았습니다.애플리케이션을 더 큰 모니터로 이동(끌어)했더니 문제가 사라졌습니다!깜짝 놀랐어요...너무 많은 시간을 낭비했습니다...내 코드가 맞는 줄 알았어요
마진이 낮으면 항상 새 플로팅 장치로 시작하는 것이 좋습니다.
dev.new()
# plot()
# save your plot
dev.off()
수용할 수 없는 큰 것을 플롯하지 않는 한 마진 오류가 발생하지 않습니다.
R스튜디오 플롯 캔버스에서 플롯 폭과 높이를 제한하고 있습니다.그러나 Rmarkdown 코드 청크에서 플롯을 만들면 플롯 영역이 용지 크기에 따라 설정되므로 캔버스 필드 제한 없이 작동합니다.
예를 들어:
```{r}
#inside of code chunk in Rmarkdown
grid <- par(mfrow=c(4, 5))
plot(faithful, main="Faithful eruptions")
plot(large.islands, main="Islands", ylab="Area")
...
par(grid)
```
저는 오늘 같은 오류를 발견했습니다."Clear all Plots(모든 플롯 지우기)" 버튼을 사용해 보았지만 동일한 오류가 발생했습니다.그러면 이 속임수가 저에게 효과가 있었습니다, 끌어서 플롯 영역을 늘리도록 해보세요. 확실히 도움이 될 겁니다.
방금 모든 플롯 지우기를 사용한 후 다시 플롯 명령을 내렸는데 도움이 되었습니다.
언급URL : https://stackoverflow.com/questions/12766166/error-in-plot-new-figure-margins-too-large-in-r
'programing' 카테고리의 다른 글
플라이웨이에서 마이그레이션을 스쿼시/병합하는 방법 (0) | 2023.07.10 |
---|---|
Entity Framework로 작업할 때 좋은 설계 방법은 무엇입니까? (0) | 2023.07.10 |
vuex 상태가 변경 시 UI를 업데이트하지 않음 (0) | 2023.07.10 |
git ignore.env 파일이 작동하지 않습니다. (0) | 2023.07.10 |
SQL 서버에 파일 저장 (0) | 2023.07.10 |