Ich muss mehrere Diagramme für eine Figur anordnen. Ich erstelle individuelle Plots mit Basis- und Rastergrafiken. Um sie in einer einzigen Abbildung anzuordnen, habe ich grid.echo()
, grid.grab(
) verwendet, um in groabs zu konvertieren und dann arrangeGrob()
und grid.arrange()
, um die endgültige Zahl zu bauen. Vor ein paar Wochen funktionierte meine vorläufige Zahl gut, aber jetzt, wenn ich den Code erneut durchführe, erzeugt er eine Figur mit Leerzeichen in den Rändern der Plots.Leerraum in grid.arrange generiert
ich ein minimales Beispiel hinzufügen, das das Problem zeigt, dass ich bin vor ...
##minimal example
library(grid)
library(gridExtra)
library(gridGraphics)
##test plot
plot_n1<-plot(1:10,1:10, asp=1)
##convert test plot to grob
grid.echo()
test_p<-grid.grab()
##simulate several plots arranged in a more complex layout
multi<-arrangeGrob(test_p, test_p, test_p, test_p, ncol=1, heights=c(1/4,1/4,1/4,1/4))
##create graph
png(filename="minimal_multiplot.png", res=300, width=20, height=20, units="cm")
grid.arrange(test_p, multi, ncol=2, widths=c(2/3,1/3))
dev.off()
Was mache ich falsch?
Bitte können Sie in den Paketen bearbeiten Sie dieses Beispiel ausführen müssen (ich es funktionierte, aber war nicht in der Lage, eine Lösung zu finden). Das Einstellen von 'clip =" on "' in 'arrayGrob' macht es etwas besser. –
Vielen Dank Richard! Arbeitete perfekt mit meinem Code! :)) –
'grid.echo()/grid.grab()' sind relativ neue Ergänzungen, und von dem was ich noch sagen kann instabil. Ich glaube nicht, dass auf der GridExtra-Seite viel zu tun ist, abgesehen von solchen Workarounds. – baptiste