wake-up-neo.com

Fehler in plot.new (): zu große Ränder in R

Ich bin neu bei R, aber ich habe zahlreiche Korrelationsdiagramme mit kleineren Datensätzen erstellt. Wenn ich jedoch versuche, ein großes Dataset (2 GB +) zu plotten, kann ich das Plot problemlos erstellen, aber die Legende wird nicht angezeigt. Irgendein Rat? oder Alternativen?

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)     

Fehler in plot.new(): Zahlenränder zu groß

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

Ich vermute, das Problem ist, dass der kleine Zahlenbereich 2, der durch Ihren Aufruf layout() erstellt wird, nicht groß genug ist, um nur die Standardränder zu enthalten, ganz zu schweigen von einem Plot.

Vor der Zeile, die das Problem verursacht, versuchen Sie Folgendes:

par(mar = rep(2, 4))

plotten Sie dann das zweite Bild

image(as.matrix(leg),col=cx,axes=T)

Sie müssen mit der Größe der Ränder beim par()-Aufruf, den ich zeige, herumspielen, um dies richtig zu machen. Möglicherweise müssen Sie auch die Größe des tatsächlichen Geräts erhöhen, auf dem Sie plotten.

Als letzten Tipp speichern Sie die par()-Standardeinstellungen, bevor Sie sie ändern. Ändern Sie daher Ihren bestehenden par()-Aufruf in:

op <- par(oma=c(5,7,1,1))

dann am Ende des Plots tun

par(op)
73
Gavin Simpson

Dieser Fehler kann in Rstudio auftreten, weil der Bereich "Plots" gerade noch zu klein ist. Versuchen Sie, Ihre "Dateien, Diagramme, Pakete, Hilfe, Viewer" zu zoomen und zu sehen, ob es hilft!

132
Steve Pitchers

Wenn Sie diese Meldung in RStudio erhalten, können Sie klicken, wenn Sie auf der Registerkarte "Plots" auf "Besenstiel" klicken und "plot ()" erneut versuchen.

 enter image description here

58
Justas

Ich habe diesen Fehler in R Studio erhalten und wurde einfach behoben, indem die Seitenleiste durch Anklicken und Ziehen des Randes von rechts nach links vergrößert wurde. 

17
Janac Meena

Dies geschieht manchmal in RStudio. Um das Problem zu lösen, können Sie versuchen, in einem externen Fenster (nur Windows) zu plotten:

windows() ## create window to plot your file
## ... your plotting code here ...
dev.off() 
16
jobligado

Prüfen Sie, ob es sich bei Ihrem Objekt um eine Liste oder einen Vektor handelt. Geben Sie dazu is.list(yourobject) ein. Wenn dies der Fall ist, benennen Sie es in x<-unlist(yourobject) um. Dadurch wird ein Vektor erstellt, den Sie zeichnen können. 

9
Gina-Maria

 enter image description here

Zoomen Sie einfach diesen Bereich, wenn Sie RStudio verwenden.

5
vkalit

Ich hatte diesen Fehler, als ich versuchte, hochdimensionale Daten zu zeichnen. Wenn dies der Fall ist, versuchen Sie die mehrdimensionale Skalierung: http://www.statmethods.net/advstats/mds.html

2
Olga Mu

Ich habe seit Wochen mit diesem Fehler zu kämpfen (mit RStudio). Ich habe versucht, das Plotfenster größer und kleiner zu verschieben, aber das half nicht konsequent. Als ich die Anwendung auf meinen größeren Monitor zog (verschob), verschwand das Problem! Ich war fassungslos ... so viele vergeudete Stunden ... ich wusste, dass mein Code richtig war ...

2
Liz

Ich habe diesen Fehler heute gefunden. Anfangs versuchte ich, es in eine .jpeg-Datei mit geringer Breite und Höhe auszugeben.

jpeg("method1_test.jpg", width=900, height=900, res=40)

Später habe ich die Breite und Höhe erhöht auf: 

jpeg("method1_test.jpg", width=1900, height=1900, res=40)

Der Fehler war nicht da. :)

Sie können auch mit der Auflösung spielen. Wenn die Auflösung hoch ist, benötigen Sie mehr Breite und Höhe.

0
jaikamal

Ich habe heute den gleichen Fehler gefunden. Ich habe den "Clear all Plots" -Button ausprobiert, aber es gab den gleichen Fehler. Dann hat dieser Trick für mich funktioniert, Versuchen Sie, den Plotbereich durch Ziehen zu vergrößern. Es wird dir sicher helfen.

0
Dhruv Panchal

Ich habe gerade das Clear all plots benutzt und dann wieder den plot Befehl gegeben und es war hilfreich

0
Nirmal Kumar

Die Zeichenfläche von RStudio Plots begrenzt die Breite und Höhe der Plots. Wenn Sie Ihren Plot jedoch aus Rmarkdown code chunk erstellen, funktioniert dies ohne Begrenzung des Zeichenbereichs, da der Plotbereich entsprechend der Papiergröße festgelegt wird.

Zum Beispiel:

    ```{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)
    ```
0
Suat Atan PhD