首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何使用ggtext来用小的大写写轴滴答呢?

我如何使用ggtext来用小的大写写轴滴答呢?
EN

Stack Overflow用户
提问于 2022-04-19 07:34:59
回答 1查看 46关注 0票数 0

我想用ggtext::element_markdown()写小本号的轴号。然而,像<span class='font-variant: small-caps'>small capital here!</span>这样的尝试是徒劳的。那么,我该如何达到这一效果呢?

米维

代码语言:javascript
复制
library(tidyverse)

tribble(
  ~ f1, ~ f2, ~ mean,
  "a",  "SBJ",  1212,
  "a",  "OBJ",  1313,
  "p",  "SBJ",  1515,
  "p",  "OBJ",  1616
) |>
  mutate(
    f2 = fct_relevel(
      f2,
      c(
        "SBJ",
        "OBJ"
      )
    )
  ) |>
  ggplot(
    aes(
      x = f2,
      y = mean,
      fill = f1
    )
  ) +
  scale_x_discrete(
    labels = c(
      "NP <span class='font-variant: small-caps'>sbj</span>",
      "NP <span class='font-variant: small-caps'>obj</span>"
    )
  ) +
  geom_col(
    position = 'dodge',
    size = 1
  ) +
  theme(
    axis.text.x = ggtext::element_markdown()
  )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-19 07:46:29

不幸的是,font-variant属性不受ggtext支持。仅根据docs (https://wilkelab.org/ggtext/articles/introduction.html):

当前支持CSS属性颜色、字体大小和字体系列。

因此,通过将字符串转换为大写并通过ggtext设置小字体大小,实现您想要的结果需要一些手工操作。

顺便说一句:样式是通过style而不是class设置的。

代码语言:javascript
复制
ggplot(
  df,
  aes(
    x = f2,
    y = mean,
    fill = f1
  )
) +
  scale_x_discrete(
    labels = c(
      glue::glue("NP <span style='font-size: 6pt;'>{toupper('sbj')}</span>"),
      glue::glue("NP <span style='font-size: 6pt;'>{toupper('obj')}</span>")
    )
  ) +
  geom_col(
    position = "dodge",
    size = 1
  ) +
  theme(
    axis.text.x = ggtext::element_markdown()
  )

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71921204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档