Dies kann am Ende eine expression
oder call
Frage sein, aber ich versuche, einzelne Achsenbeschriftungen bedingt zu formatieren.Dynamische Formatierung einzelner Achsenbeschriftungen in ggplot2
Im folgenden Beispiel, würde Ich mag, um selektiv fett einer der Achsenbeschriftungen:
library(ggplot2)
data <- data.frame(labs = c("Oranges", "Apples", "Cucumbers"), counts = c(5, 10, 12))
ggplot(data = data) +
geom_bar(aes(x = labs, y = counts), stat="identity")`
Es ähnliches Problem ist here, aber die Lösung beinhaltet theme
und element_text
. Ich versuche, Achsenbeschriftungen direkt zu verwenden.
Ich kann dies wie unten manuell tun:
breaks <- levels(data$labs)
labels <- breaks
labels[2] <- expression(bold("Cucumbers"))
ggplot(data = data) +
geom_bar(aes(x = labs, y = counts), stat="identity") +
scale_x_discrete(label = labels, breaks = breaks)
Aber, wenn ich versuche, es durch Indizierung zu tun, anstatt die Eingabe out „Gurken“, bekomme ich folgende Fehlermeldung:
breaks <- levels(data$labs)
labels <- breaks
labels[2] <- expression(bold(labels[2]))
ggplot(data = data) +
geom_bar(aes(x = labs, y = counts), stat="identity") +
scale_x_discrete(label = labels, breaks = breaks)
Welche s macht ense, weil es die labels[2]
nicht auswertet. Aber weiß jemand, wie man es dazu zwingt? Vielen Dank.
Ja! 'bquote' und'.() 'waren was ich brauchte. Vielen Dank. Gibt es eine Mnemonik für diesen Funktionsnamen? Rückwärts Zitat? – Sealander
Von der Hilfeseite ist es "ein Analogon des LISP-Backquote-Makros", das ist ziemlich nah. – MrFlick
@MrFlick Wie könnte ich das für mehrere Elemente tun? Zum Beispiel für Position 2 und 3? Und auch könnte ich dies durch Spezifizieren der Faktornamen, z.B. "Gurken" und "Orangen"? Vielen Dank! – Stefan