ich habe mir mit ggplot2 eine Landkarte ("karte") gebastelt. Gemeinsam mit einigen Textfeldern ("grob1" - "grob4.2) möchte ich diese in eine PDF exportieren, auf welche zudem ein Hintergrund-Bild ("background2.jpg") gelegt werden soll. Aber ich scheitere seit vielen Stunden an dieser Aufgabe. Es ist kein Problem, alles ohne Hintergrundbild einzufügen oder das Hintergrundbild einzufügen und dann die Texte auf diesem Hintergrund erscheinen zu lassen.
Was aber ein Problem darstellt: Sobald ich die Karte einfüge, gehts insofern schief, als dass der Inhalt verschwindet, weil das Hintergrundbild auf dem Inhalt liegt. Kennt sich da jemand aus und kann mir helfen, wie ich mein Ziel erreiche? Btw: Schiebe ich den Schritt "Hintergrundbild hinzufügen" vor den grid.arrange-Befehl, erscheint das Hintergrundbild auf der Seite 1 und der Rest auf der Seite 2. Das ist also auch keine Lösung Danke für die Hilfe!
Hier ist die Syntax, die ich bis jetzt verwende:
Code: Alles auswählen
#Leeren Raster als Platzhalter erzeugen
blank <- grid.rect(gp=gpar(col="NA"))
# Definieren, wo und unter welchen Bedingungen die PDF gespeichert werden soll
pdf_file <- file.path("...PFAD...", paste("Gemeinde", ".pdf", sep = ""))
# PDF öffnen und Größe definieren
pdf(file = pdf_file,
width = 8.27, height = 11.69)
#Inhalte in die PDF einfügen
grob1 <- textGrob("Gemeinde...", gp=gpar(fontsize=22, fontface = "bold"))
#Landkreis
kreis_titel <- "Landkreis: "
grob2.1 <- textGrob(kreis_titel, gp=gpar(fontsize=14,fontface="bold"),just = "left")
kreis_inh <- "Bautzen"
grob2.2 <- textGrob(kreis_inh, gp=gpar(fontsize=14),just = "left")
#AGS
AGS_titel <- "Gemeindekennziffer: "
grob3.1 <- textGrob(AGS_titel, gp=gpar(fontsize=14,fontface="bold"),just = "left")
AGS_Inh <- "14625250"
grob3.2 <- textGrob(AGS_Inh, gp=gpar(fontsize=14),just = "left")
#Einwohner
Einwohner_titel <- "Einwohner: "
grob4.1 <- textGrob(Einwohner_titel, gp=gpar(fontsize=14,fontface="bold"),just = "left")
Einwohner_inh <- "16853"
grob4.2 <- textGrob(Einwohner_inh, gp=gpar(fontsize=14),just = "left")
#Layout, wie die A4-Seite in Raster aufgeteilt wird, vorab definieren
layout <- rbind(c(1, 1, 1, 1, 1, 1, 1, 1, 1), # Zeile 1 mit x Spalten
c(2, 2, 3, 3, 3, NA, NA, NA, NA), # Zeile 2 mit x Spalten
c(4, 4, 5, 5, 5, NA, NA, NA, NA), # Zeile 3 mit x Spalten
c(6, 6, 7, 7, 7, NA, NA, NA, NA), # Zeile 4 mit x Spalten
c(8, 8, 8, 8, 8, 8, 8, 8, 8), # Zeile 5 mit x Spalten
c(9, 9, 9, 9, 9, 9, 9, 9, 9)) # Zeile 6 mit x Spalten
grid.arrange( grob1, #1 im Layout
grob2.1, #2 im Layout
grob2.2, #3 im Layout
grob3.1, #4 im Layout
grob3.2, #5 im Layout
grob4.1, #6 im Layout
grob4.2, #7 im Layout
blank,
karte,
layout_matrix=layout,
heights = c(5,1,1,1,2,20))
# Hintergrundbild hinzufügen
#Pfad Hintergrundbild
background_image <- image_read("...PFAD/background2.jpg")
grid.raster(as.raster(background_image), x = 0.5, y = 0.5, width = 1, height = 1)
#PDF schließen und Prozess beenden
dev.off()
# PDF-Datei anzeigen
shell.exec(pdf_file)