Es ist nicht ganz aus Ihrer Frage klar, was genau der Knackpunkt ist. Müssen Sie die Rechtecke von R generieren (statt, sagen wir, manuell in Illustrator)? Und kein Plot-Fenster muss angezeigt werden?
All dies kann erreicht werden. Ich ziehe es vor, mit ggplot2 zu zeichnen, und die spezifischen Geoms, die Sie hier benötigen, sind geom_tile()
für die Rechtecke und geom_text()
für den Text. Und Sie können in png speichern, ohne einen Plot zu erstellen, indem Sie ggsave()
verwenden.
rects <- data.frame(x = 1:4,
colors = c("red", "green", "blue", "magenta"),
text = paste("text", 1:4))
library(ggplot2)
p <- ggplot(rects, aes(x, y = 0, fill = colors, label = text)) +
geom_tile(width = .9, height = .9) + # make square tiles
geom_text(color = "white") + # add white text in the middle
scale_fill_identity(guide = "none") + # color the tiles with the colors in the data frame
coord_fixed() + # make sure tiles are square
theme_void() # remove any axis markings
ggsave("test.png", p, width = 4.5, height = 1.5)
machte ich vier Rechtecke in diesem Beispiel. Wenn Sie nur einen benötigen, können Sie einfach einen Eingabedatenrahmen mit nur einer Zeile erstellen.
ist es 'theme_void()' für solche Fälle. Sie müssen das Theme nicht manuell leeren. –
@ClausWilke danke! Wird im Gedächtnis bleiben – PoGibas