Saltar al contenido

anotación en cursiva en formato ggplot

Nuestro grupo redactor ha estado mucho tiempo buscando la resolución a tu interrogante, te ofrecemos la respuesta por esto nuestro deseo es que resulte de mucha ayuda.

Solución:

En este momento, esta página es el principal resultado de búsqueda en Google para ggplot anotar cursiva. Para el beneficio de aquellos que simplemente quieren poner en cursiva una anotación completa, estoy escribiendo esta publicación. Usar anotaciones fontface opción. Ejemplo:

seq(0,3.14,0.01)
qplot(x, sin(x)) +   # works the same for qplot or ggplot
annotate(geom = 'text', 
         x = 1.5, 
         y = 0.5, 
         hjust = 0.5,
         label = 'Hello, World', 
         fontface = 'italic')

ingrese la descripción de la imagen aquí

Usar parse=TRUE y suministrar un string formateado según ?plotmath.

p <- ggplot(d, aes(i, value, linetype=variable)) +
    geom_hline(yintercept=700^2) +
    geom_line() +
    scale_linetype_manual(values=c(2,1)) +
    scale_x_continuous(breaks=(0:20)*365/7, labels=0:20) +
    scale_y_sqrt() +
    annotate('text', 8*365/7, 1e3,
             label="P(italic(i))==8~italic(i)", parse=TRUE,
             hjust=1, size=3) +
    annotate('text', 8*365/7, 2.5e5,
             label="A(italic(i))==1+4~italic(i)(italic(i)-1)", parse=TRUE, 
             hjust=1, size=3)

ingrese la descripción de la imagen aquí

La respuesta mejor calificada está bien, pero en un escenario más complejo con saltos de línea no funcionó para mí, así que simplemente usé caracteres en cursiva Unicode en su lugar. Para tu ejemplo:

library(Unicode)

italic_i <- u_char_inspect(u_char_from_name("MATHEMATICAL ITALIC SMALL I"))["Char"]
label1 <- paste("P(", italic_i, ")=8", italic_i, sep="")
label2 <- paste("A(", italic_i, ")=1+4", italic_i, "(", italic_i, "-1)", sep="")

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=label1, hjust=1, size=3) +
  annotate('text', 8*365/7, 2.5e5, label=label2, hjust=1, size=3)
print(p + theme_classic())

Anotación en cursiva ggplot2

Editar: acabo de darme cuenta de que guardar un pdf con pdf() no representa Unicode correctamente, pero simplemente puede usar cairo_pdf() en su lugar, que funciona bien (ver: Caracteres Unicode en ggplot2 PDF Output)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *