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

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()
)发布于 2022-04-19 07:46:29
不幸的是,font-variant属性不受ggtext支持。仅根据docs (https://wilkelab.org/ggtext/articles/introduction.html):
当前支持CSS属性颜色、字体大小和字体系列。
因此,通过将字符串转换为大写并通过ggtext设置小字体大小,实现您想要的结果需要一些手工操作。
顺便说一句:样式是通过style而不是class设置的。
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()
)

https://stackoverflow.com/questions/71921204
复制相似问题