加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

如何在gomplot的geom_text_repel或geom_text标签中包含斜体文本

发布时间:2020-12-14 23:28:56 所属栏目:资源 来源:网络整理
导读:是否可以将部分斜体文本标签传递给ggplot?我已经尝试使用表达式和斜体命令(表达式(paste(italic(“some text”)))),但这些不能传递到数据框中,因为命令的结果不是原子的.设置参数fontface =“italic”也是不够的,因为这会使整个标签斜体化,而不仅仅是标签中
是否可以将部分斜体文本标签传递给ggplot?我已经尝试使用表达式和斜体命令(表达式(paste(italic(“some text”)))),但这些不能传递到数据框中,因为命令的结果不是原子的.设置参数fontface =“italic”也是不够的,因为这会使整个标签斜体化,而不仅仅是标签中的一组选择字符.例如,我想在标签中使用一些斜体字的拉丁短语(例如“体内点”中的“体内”).
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_text或geom_text_repel.你必须将字符串重写为plotmath,但如果它不是太多,那就不是太糟糕了.

注意:ggrepel的CRAN版本有一个破坏parse = TRUE的错误,但它已在GitHub版本上修复. ggplot2 :: geom_text工作正常.

# devtools::install_github('slowkow/ggrepel')

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读