Ich möchte einen Text auf der letzten Facette des Plots mit dem folgenden Code versehen:
library(ggplot2)
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p <- p + facet_grid(. ~ cyl)
p <- p + annotate("text", label = "Test", size = 4, x = 15, y = 5)
print(p)
Dieser Code kommentiert jedoch den Text auf jeder Facette. Ich würde mich sehr freuen, wenn Sie mir zeigen, wie Sie den kommentierten Text nur auf einer Facette erhalten.
r
ggplot2
facet
facet-wrap
facet-grid
MYaseen208
quelle
quelle
Antworten:
Normalerweise machen Sie so etwas:
Es sollte funktionieren, ohne die Faktorvariable vollständig anzugeben, wird aber wahrscheinlich einige Warnungen auslösen:
quelle
geom_text
mit nur einer Zeile übergebe.annotate()
... machen kann?Hier ist die Handlung ohne Textanmerkungen:
Erstellen wir einen zusätzlichen Datenrahmen für die Textanmerkungen:
Alternativ können wir die Position jedes Etiketts manuell angeben:
Wir können Diagramme auch über zwei Facetten hinweg beschriften:
Anmerkungen:
-Inf
undInf
an den Rändern eines Bedienfelds positionieren.hjust
undvjust
anpassen.dat_text
sollte eine Spalte haben, die mit Ihremfacet_grid()
oder zusammenarbeitetfacet_wrap()
.quelle
colnames()
Textedata.frame
mit denen der Daten übereinstimmen, die Sie zeichnen möchten .Wenn jemand für eine einfache Möglichkeit zur Kennzeichnung von Facetten für Berichte oder Publikationen suchen, die
egg
( CRAN hat) Paket ziemlich raffiniertetag_facet()
undtag_facet_outside()
Funktionen.Tag innen
Standard
Hinweis: Wenn Sie den Streifentext und den Hintergrund beibehalten möchten, versuchen Sie , die ursprüngliche Funktion hinzuzufügen
strip.text
undstrip.background
wieder aufzunehmentheme
oder daraus zu entfernen .theme(strip.text = element_blank(), strip.background = element_blank())
tag_facet()
Oben rechts ausrichten und römische Ziffern verwenden
Unten links ausrichten und Großbuchstaben verwenden
Definieren Sie Ihre eigenen Tags
Tag draußen
Bearbeiten : Hinzufügen einer weiteren Alternative mit dem Stickylabeller- Paket
Erstellt vom reprex-Paket (v0.2.1)
quelle
tag_facet
von nixingstrip.text = element_blank()
Warning: Ignoring unknown parameters: strip.text
Ich denke für die Antwort oben lab = "Text" ist nutzlos, der Code unten ist auch ok.
Wenn Sie jedoch in verschiedenen Untergraphen unterschiedlich beschriften möchten, ist dies folgendermaßen in Ordnung:
quelle
Erweitern Sie leicht Jorans ausgezeichnete Antwort, um zu verdeutlichen, wie der Etiketten-Datenrahmen funktioniert.
Sie können sich "mpg" und "wt" als x- bzw. y-Koordinaten vorstellen (ich finde es einfacher, die ursprünglichen Variablennamen zu verfolgen, als sie umzubenennen, wie in Kamils ebenfalls ausgezeichneter Antwort). Sie benötigen eine Zeile pro Beschriftung, und die Spalte "Zyl." Zeigt an, welcher Facette jede Zeile zugeordnet ist.
quelle
Ich wusste nichts über das
egg
Paket, daher hier eine einfacheggplot2
Paketlösungquelle