使用 ggtext

问题描述

我正在尝试用两层条带绘制情节。我希望条带的第一层具有水平文本方向,第二层具有垂直文本方向。

在下面的示例中,我希望显示“水平”的条带层是水平的,而我希望“1999”和“2008”保持垂直。

library(ggplot2)
library(ggtext)
library(glue)

df <- mpg
df$outer <- "horizontal"

p <- ggplot(df,aes(displ,cty)) +
  geom_point() +
  theme(
    strip.text.y.left = element_markdown()
  )

p + facet_grid(
  outer + year ~ .,switch = "y"
)

ggtext 包很棒,因为它允许我们使用 ggtext::element_markdown() 使用 html 标签有条件地格式化条带的图层,如下例所示:

p + facet_grid(
  glue("<span style = 'color:red'>{outer}</span>") + year ~ .,switch = "y"
)

reprex package (v1.0.0) 于 2021 年 7 月 11 日创建

有没有一个 (HTML) 标签可以用来使文本方向水平,而不是应用红色?我对 HTML 不是很流利。在谷歌搜索了一些选项后,我尝试了以下跨度但没有成功:

"<span style = 'transform:rotate(90deg)'>"
"<span style = 'text-orientation:sideways'>"

附带说明:我知道我可以编辑绘图的 gtable 以手动编辑标签等。这正是我不想要做的!

除了解决我的问题之外,还有另外两种方式我认为我的问题得到了回答。

  • 指向某些文档的链接,该链接指出(尚)无法使用 ggtext 执行此操作。如果是这种情况,请将其作为带有简短描述的答案发布,以便我可以接受。 ggtext 的创建者 Claus O. Wilke 对此发表的评论也很好。*

  • 尝试使用规范 HTML 标签(除了我已经尝试过的两个)无法旋转文本的代码示例。然后我知道有人尝试过对 HTML 的了解比我多,但我的问题没有明显的解决方案。

* 我知道 paragraph in ggtext's readme 的内容如下:

作为一般规则,任何 ggtext 或 gridtext 文档中未显示的任何 Markdown、HTML 或 CSS 功能可能都不存在。

我正在寻找一个更明确的声明,说明文本不能用标签旋转。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...