问题描述
我正在尝试用两层条带绘制情节。我希望条带的第一层具有水平文本方向,第二层具有垂直文本方向。
在下面的示例中,我希望显示“水平”的条带层是水平的,而我希望“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 (将#修改为@)