129 votes

Erreur dans plot.new() : marges de la figure trop grandes en R

Je suis novice en R mais j'ai déjà réalisé de nombreux graphiques de corrélation avec des ensembles de données plus petits. Cependant, lorsque j'essaie de tracer un grand ensemble de données (2 Go et plus), je peux produire le tracé sans problème, mais la légende ne s'affiche pas. Des conseils ? ou des alternatives ?

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)     

Erreur dans plot.new() : marges des chiffres trop importantes

tmp <- round(leg,2)
axis(1,at=seq(0,1,length=length(leg)), labels=tmp,cex.axis=1)

1voto

Neeraj Points 302

Si la marge est faible, il est toujours préférable de commencer par un nouveau dispositif de traçage :

dev.new()
# plot()
# save your plot
dev.off()

Vous n'obtiendrez jamais d'erreur de marge, à moins que vous ne traciez quelque chose de grand qui ne puisse être accommodé.

0voto

Suat Atan Points 54

Le canevas de RStudio Plots limite la largeur et la hauteur des tracés. Cependant, si vous créez votre tracé à partir de Rmarkdown Le code chunk fonctionne sans limitation du champ de toile car la zone de traçage est définie en fonction de la taille du papier.

Par exemple :

    ```{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)
    ```

0voto

Dhruv Panchal Points 60

J'ai trouvé la même erreur aujourd'hui. J'ai essayé le bouton "Clear all Plots", mais cela me donnait la même erreur. Alors cette astuce a fonctionné pour moi, Essayez d'augmenter la surface de la parcelle en la faisant glisser. Cela vous aidera certainement.

0voto

Nirmal Kumar Points 1

J'ai juste utilisé la commande Clear all plots puis à nouveau la commande plot et cela a été utile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X