Griechische Buchstaben in ggplot Streifen Text
Frage
Ich versuche, den Text in einigen ggplot Streifen außer Kraft zu setzen griechische Zeichen zu übernehmen. Hier einige Beispieldaten und die Basis für die Handlung.
dfr <- data.frame(
x = rep(1:10, times = 6),
y = runif(60),
fx = rep(c("foo", "bar"), each = 30),
fy = rep(c("alpha", "beta", "gamma"), each = 10, times = 2)
)
p <- ggplot(dfr, aes(x, y)) + geom_point()
Mein erster Versuch an einem Grundstück hat keine griechischen in den Streifenetiketten.
p + facet_grid(fy ~ fx)
Ich nehme an, dass ich soll ein Etikettierer Argument hinzufügen, um facet_grid
den Text zu überschreiben. Ich vermuten, dass dies einen Ausdruck ausspucken die griechischen Zeichen zu handhaben, aber mein Code löst nur einen Fehler, wenn die Grafik gedruckt wird.
lbl <- function(variable, value)
{
if(variable == "fy") parse(text=as.character(value)) else value
}
p + facet_grid(fy ~ fx, labeller = lbl)
Error in aperm(X, c(s.call, s.ans)) :
unimplemented type 'expression' in 'aperm'
Wie soll ich die Streifenetiketten erschaffen?
Lösung
Versuchen Sie folgendes:
p + facet_grid(fy ~ fx, labeller = label_parsed)
Andere Tipps
Entsendung hier dies, da es bezogen werden:
Wenn Sie den Namen der Variablen selbst sowie die Ebenen / Werte der Variablen wollen als Ausdruck ausgewertet werden (d dargestellt, als ob sie waren Latex), versuchen Sie dies:
label_parseall <- function(variable, value) {
plyr::llply(value, function(x) parse(text = paste(variable,
x, sep = "==")))
}
Beispiel:
data <- data.frame(x = runif(10), y = runif(10),
gamma = sample(c("gamma[0]", "gamma[1]"), 10, rep = T))
ggplot(data, aes(x, y)) + geom_point() + facet_grid(~gamma,
labeller = label_parselabel)
Bild unter http://img709.imageshack.us/img709/1168/parseall .png