Ich möchte ein Bild zwischen zwei Plots auf einem Gerät plotten. Wichtig ist, dass das Bild genau im Zentrum liegen muss und somit beide Plots überlappen. Bitte sehen Sie das Beispiel, wo ich die R logo als Bild verwendet:par (xpd = NA) funktioniert nicht, wenn Achsen = F in R plot
# png and grid are both for plotting the image
library("png")
library("grid")
Rlogo <- readPNG("Rlogo.png")
par(mfrow=c(1,2), xpd=NA) # two columns, xpd should permit plotting outside of margin
barplot(-(1:10), horiz=T, border=NA, axes=FALSE)
grid.draw(rasterGrob(Rlogo, x=unit(0.5, "npc"), y = unit(0.5, "npc"), width=unit(0.1, "npc"), height=unit(0.1, "npc")))
barplot(1:10, horiz=T, border=NA, axes=F)
Ergebnisse in einem Schnitt R-Logo:
das Aussehen beibehalten, dh ohne Achsen, ist eine Behelfslösung ein hinzufügen Achse mit col = "white":
par(mfrow=c(1,2), xpd=NA)
barplot(-(1:10), horiz=T, border=NA, axes=FALSE)
axis(1, labels=F, col = "white")
# axis(1, labels=F, tick=F) # does not help
grid.draw(rasterGrob(Rlogo, x=unit(0.5, "npc"), y = unit(0.5, "npc"), width=unit(0.1, "npc"), height=unit(0.1, "npc")))
barplot(1:10, horiz=T, border=NA, axes=F)
, die zurückgibt, was ich will
aber scheint nicht wie eine gute Lösung für mich.
Warum ist das Logo in der ersten Handlung geschnitten? Was haben Achsen mit Margen/Größe von Gerät/XPD zu tun?
Haben Sie andere Ideen oder Lösungen, wie Sie das Logo (ungeschnitten) in der Mitte ohne Achsen in den Plots erreichen können?
Nicht viel. Das Logo wird immer noch geschnitten und durch Hinzufügen einer "weißen" Achse zum zweiten Barplot wird es gelöst. – jmjr