【问题标题】:Text formatting in ggplot's annotateggplot 注释中的文本格式
【发布时间】:2020-12-11 20:48:44
【问题描述】:

可以用html代码注释吗?我正在尝试只为几个单词而不是整个文本着色。

library(tidyverse)
#> Warning: package 'ggplot2' was built under R version 4.0.2

mtcars %>%
  ggplot(aes(x = hp, y = mpg)) +
  geom_point() +
  annotate(geom = "text", label = "I'm <span style='color: red;'>red</span> \n and i'm <span style='color: orange;'>orange</span>",
           x = 250, y = 25)

reprex package (v0.3.0) 于 2020 年 8 月 22 日创建

【问题讨论】:

    标签: r ggplot2 ggtext


    【解决方案1】:

    您可以使用包“ggtext”。这是相当新的。您的示例所需的唯一更改是替换 geom:使用 "richtext" 而不是 "text"

    library(tidyverse)
    library(ggtext)
    #> Warning: package 'ggplot2' was built under R version 4.0.2
    
    mtcars %>%
      ggplot(aes(x = hp, y = mpg)) +
      geom_point() +
      annotate(geom = "richtext", label = "I'm <span style='color: red;'>red</span> \n and i'm <span style='color: orange;'>orange</span>",
               x = 250, y = 25)
    

    可以使用fill = NA 去除背景。去掉边框线label.color = NA可以用。

    library(tidyverse)
    library(ggtext)
    
    mtcars %>%
      ggplot(aes(x = hp, y = mpg)) +
      geom_point() +
      annotate(geom = "richtext", label = "I'm <span style='color: red;'>red</span>\n and i'm <span style='color: orange;'>orange</span>",
               x = 250, y = 25, fill = NA, label.color = NA)
    

    【讨论】:

    • 您应该使用
      标签而不是 \n 来实现所需的输出。 @alberson-miranda
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 2017-10-29
    相关资源
    最近更新 更多