2013-04-07 17 views
16

Ich möchte nur jede von ggplot2 generierte Zahlengruppe mit Anmerkungen versehen. nur einfache Bezeichnungen wie (a), (b), (c) usw. in jeder Ecke. Gibt es einen einfachen Weg, dies zu tun?ggplot2: geom_text() mit facet_grid()?

+3

Haben Sie als Beispiel haben ein Bild, könnten Sie schreiben? –

+0

Entschuldigung, ich muss herausfinden, wie man Bilder posten kann ... – hatmatrix

Antwort

27

Von: https://groups.google.com/forum/?fromgroups=#!topic/ggplot2/RL8M7Ut5EpU können Sie Folgendes verwenden:

library(ggplot2) 
x <-runif(9, 0, 125) 
data <- as.data.frame(x) 
data$y <- runif(9, 0, 125) 
data$yy <- factor(c("a","b","c")) 

ggplot(data, aes(x, y)) + 
    geom_point(shape = 2) + 
    facet_grid(~yy) + 
    geom_text(aes(x, y, label=lab), 
     data=data.frame(x=60, y=Inf, lab=c("this","is","the way"), 
      yy=letters[1:3]), vjust=1) 

, die Sie diese geben sollte:

+6

+1, aber könnten Sie etwas mehr Kontext zur Verfügung stellen, wie das funktioniert? Im Moment ist es nur ein Stück Code und ein Bild. –

+3

Sicher. Der Basisaufruf 'ggplot' hat den Datenrahmen mit den tatsächlichen Plotdaten für die Facetten 'geom_point'' facet_grid'. Der Schlüssel besteht darin, einen neuen Datenrahmen für den "geom_text" zu erstellen (der im Code-Snippet erzeugt wird, aber Sie könnten ihn außerhalb des 'ggplot'-Blocks erstellen und einfach auf den Datenrahmen verweisen) und die Anzahl der Label-Elemente anpassen die Anzahl der Facetten. Sie können mehrere Aufrufe von 'geom_text' verwenden, um mehrere verschiedene Beschriftungen über die Facetten zu platzieren. Sie werden in der richtigen Reihenfolge referenziert, seien Sie sich dessen bewusst. – hrbrmstr

+1

Wenn Sie möchten, dass mehrere Beschriftungen gezeichnet werden, müssen Sie geom_text nicht mehrmals aufrufen. Fügen Sie einfach Zeilen zu Ihrem data.frame mit den entsprechenden text- und facet_grid-Variablen hinzu. –

5

Grundsätzlich erstellen Sie eine data.frame mit dem Text, der eine Spalte mit dem Text und eine Spalte mit den Variablen enthält, die Sie für facet_grid verwenden. Sie können dann einfach einen geom_text mit dem data.frame hinzufügen. Weitere Informationen zur Textplatzierung finden Sie in der Dokumentation von .

Verwandte Themen