如何在图表标题或标签中加下划线?(GGPLOT2)

law*_*yeR 10 plot r underline ggplot2 plotmath

如果这是一个简单的问题,请原谅我的无知,但我似乎无法弄清楚如何强调情节标题的任何部分.我正在使用ggplot2.

我能找到的最好的是 手工制作的注释("段"),我创建了一个玩具图来说明它的方法.

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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

使用bquote(下划线()与基数R.

属于图上节点上方和下方的线

使用plotmath并提供解决方法,但它没有帮助

Jot*_*ota 9

试试这个:

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

或者,正如BondedDust在评论中指出的那样,您可以paste()完全避免通话,但要注意for:

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

或巴蒂斯特提出了另一个,甚至更短的方法不使用expression,paste()或波浪线很多:

ggplot(df, aes(x = x, y = y)) + geom_point() +
  ggtitle(~"Oh how I wish for "*underline(underlining))
Run Code Online (Sandbox Code Playgroud)

  • `ggtitle(〜"我希望如何"*下划线(下划线))`可能是最简单的 (7认同)
  • 哦,该死的.这是正在做的f字.R解析器看到"for"并且继续寻找'for'(就像它)一个索引.愚蠢的机器!试试:`表达式(哦〜我怎么〜我希望〜'用于'〜下划线(下划线))`.它与`in`产生相同的解析错误. (4认同)