ggplot format italique annotation
Puis-je utiliser les marques dans un ggplot annotation?
Disons, j'ai ce graphique:
p <- function(i) 8*i
a <- function(i) 1+4*i*(i-1)
library(ggplot2)
library(reshape2)
i <- 1:(8*365/7)
d <- data.frame(i=i,p=p(i),a=sapply(i,a))
d <- melt(d, id.vars='i')
p <- ggplot(d, aes(i, value, linetype=variable)) +
geom_hline(yintercept=700^2) +
geom_line() +
scale_linetype_manual(values=c(2,1)) +
#geom_point() +
scale_x_continuous(breaks=(0:20)*365/7, labels=0:20) +
#scale_y_continuous(breaks=c(0,700^2), labels=c(0,expression(L^2)))
scale_y_sqrt() +
#scale_y_log10() +
annotate('text', 8*365/7, 1e3, label="P(i)=8i", hjust=1, size=3) +
annotate('text', 8*365/7, 2.5e5, label="A(i)=1+4i(i-1)", hjust=1, size=3)
print(p + theme_classic())
Je sais que je peux utiliser fontface=3 et de tout mettre en italique. Mais je ne veux pas les chiffres en italique, seule la variable i
. De préférence, P
et A
serait pas être en italique ainsi.
Des idées?
Vous devez vous connecter pour publier un commentaire.
Utilisation
parse=TRUE
et de fournir une chaîne formatée selon?plotmath
.Dès maintenant cette page est le top des résultats de recherche sur google pour ggplot annoter italique. Pour le bénéfice de ceux qui veulent tout simplement de les mettre en italique un ensemble d'annotation, je suis en train d'écrire ce post. L'utilisation d'annoter du
fontface
option. Exemple:geom_text
Les mieux notés de réponse est très bien, mais dans un scénario plus complexe avec des retours à la ligne (il ne fonctionne pas pour moi, donc j'ai simplement utilisé Unicode italic caractères à la place. Pour votre exemple:
Edit: je viens de remarqué que l'enregistrement d'un fichier pdf avec pdf() fais pas rendu unicode correctement, mais vous pouvez tout simplement utiliser cairo_pdf() à la place, qui fonctionne très bien (voir: Les Caractères Unicode dans les ggplot2 de Sortie au format PDF)