r - 如何在 ggplot 的 geom_text_repel 或 geom_text 标签中包含斜体文本?

标签 r text ggplot2 plotmath ggrepel

是否可以将部分斜体文本标签传递到 ggplot 中?我尝试过使用 expressionitalic 命令 (expression(paste(italic("some text")))),但这些不能传递到数据帧中,因为命令的结果不是原子的。设置参数 fontface = "italic" 也不够,因为这会使整个标签变成斜体,而不仅仅是标签中选定的一组字符。例如,我希望一些必须斜体的拉丁短语在标签中以斜体显示(例如“in vivo point”中的“in vivo”)。

library(ggplot)
library(ggrepel)

df <- data.frame(V1 = c(1,2), V2 = c(2,4), V3 = c("in vivo point","another point"))

ggplot(data = df, aes(x = V1, y = V2)) + geom_point() + geom_text_repel(aes(label = V3))

最佳答案

您可以使用 parse = TRUE?plotmath 表达式(作为字符串)传递给 geom_textgeom_text_repel 。您必须将字符串重写为绘图,但如果不是太多,也还不错。

df <- data.frame(V1 = c(1,2), V2 = c(2,4), 
                 V3 = c("italic('in vivo')~point", "another~point"))

ggplot(data = df, aes(x = V1, y = V2, label = V3)) + 
    geom_point() + 
    geom_text_repel(parse = TRUE)

plot with partial italic label

关于r - 如何在 ggplot 的 geom_text_repel 或 geom_text 标签中包含斜体文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41528953/

相关文章:

r - 避免分面ggplots中的轴刻度标签冲突

java - 如何在文本文件中查找某些单词,然后在Java中查找数字?

r - 使用 ggplot2 获得反射(reflect)各个方面的百分比尺度

r - ggplot/geom_segment : sorting y-axis labels (factors) according to value of variable

r - 在 ggplot2 注释中使用 "*"或 "|"符号

rpart 不在 R 中创建决策树,SVM 可以工作

r - 如何根据 2 列的条件改变 R dplyr 中的新变量?

r - 将矢量图像置于网格中以在 R 中进行克里金法

reactjs - 使用触摸效果为单个文本中的多个文本 react native 内联样式

java/Swing : converting a text string to a Shape