Comment souligner un texte dans un titre ou une étiquette? (ggplot2)

pardonnez mon ignorance, si c'est une simple question, mais je n'arrive pas à comprendre comment souligner toute partie d'un complot titre. Je suis à l'aide de ggplot2.

le mieux que j'ai pu trouver était annoter("segment") fait à la main, et j'ai créé une intrigue de jouet pour illustrer sa méthode.

df <- data.frame(x = 1:10, y = 1:10)

rngx <- 0.5 * range(df$x)[2]  # store mid-point of plot based on x-axis value
rngy <- 0.5 * range(df$y)[2]  # stores mid-point of y-axis for use in ggplot

ggplot(df, aes(x = x, y = y)) + 
  geom_point() +
  ggtitle("Oh how I wish for ..." ) +
  ggplot2::annotate("text", x = rngx, y = max(df$y) + 1, label = "underlining!", color = "red") +
  # create underline:
  ggplot2::annotate("segment", x = rngx-0.8, xend = rngx + 0.8, y= 10.1, yend=10.1)

enter image description here

utilise bquote (underline () avec base R

concerne les lignes au-dessus et au-dessous des noeuds sur un graphique

utilise plotmath et offre une solution de contournement, mais cela n'a pas aidé

9
demandé sur Community 2015-05-27 01:50:19

1 réponses

essaye ceci:

ggplot(df, aes(x = x, y = y)) + geom_point() +
  ggtitle(expression(paste("Oh how I wish for ", underline(underlining))))

alternativement, comme BondedDust le souligne dans les commentaires, vous pouvez éviter le paste() appel entièrement, mais attention à l' for:

ggplot(df, aes(x = x, y = y)) + geom_point() +
  ggtitle(expression(Oh~how~I~wish~'for'~underline(underlining)))

Ou d'une autre, encore plus courte approche proposée par baptiste qui n'utilise pas expression,paste(), ou le nombre de tildes:

ggplot(df, aes(x = x, y = y)) + geom_point() +
  ggtitle(~"Oh how I wish for "*underline(underlining))
9
répondu Jota 2015-05-27 00:33:19