J'essaye de remplacer le texte dans certaines bandes de ggplot pour incorporer des caractères grecs. Voici quelques exemples de données et la base de l'intrigue.Les lettres grecques dans le texte de la bande ggplot
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()
Ma première tentative de tracé n'a pas de grec dans les étiquettes de bande.
p + facet_grid(fy ~ fx)
Je suppose que je suis censé ajouter un argument étiqueteuse à facet_grid
pour remplacer le texte. J'ai supposé que cela devrait cracher une expression pour manipuler les caractères grecs, mais mon code jette juste une erreur quand le graphique est imprimé.
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'
Comment dois-je en train de créer les étiquettes de bande?
Je vois que cette réponse fonctionne, mais je ne peux pas comprendre comment. D'où vient label_parsed? Je ne peux pas le trouver dans les docs ggplot en ligne. – kmm
Il est mentionné brièvement dans le paquet docs (http://cran.r-project.org/web/packages/ggplot2/index.html); Je suis d'accord que cela pourrait être mieux documenté - je le savais seulement car j'ai vu Hadley en parler à un moment donné. –
Merci - je le vois maintenant. C'est une commande potentiellement très utile. – kmm