将轴文本方向更改为从右到左
Change axis text direction to right-to-left
在阿拉伯语和希伯来语等从右到左的语言中,如何调整 ggplot2
文本元素的文本方向?
请注意,我不是在谈论对齐方式(由 hjust
控制),而是文本呈现的实际方向(相当于 CSS direction: rtl;
)。
因此,这不是 this question.
的复制
这是一个最小的可重现示例:
library(ggplot2)
library(tibble)
example1 <- tribble(
~item,
"האם יורד גשם?"
)
# or as ordinary data frame, to avoid 'tibble' dependency
example1 <- data.frame(item = "האם יורד גשם?")
ggplot(example1, aes(item)) +
geom_bar() +
theme(axis.text.x = element_text(size = 25))
我放大了轴文本 x 来说明我的意思。
代码生成如下图表,注意问号在文本的右侧,我希望它出现在文本的左侧。在tibble中example1
没问题(虽然看起来"opposite",问号结束了句子。)
你要把原来的问号改一下,然后就ok了:
library(ggplot2)
library(tibble)
example1 <- tribble(
~item,
"?האם יורד גשם"
)
ggplot(example1, aes(item)) +
geom_bar() +
theme(axis.text.x = element_text(size = 25))
您可以使用 "RIGHT-TO-LEFT EMBEDDING" ("Treat the following text as embedded right-to-left") 的 Unicode 控制字符:u202B
。参见 Explicit Directional Embeddings。
example1$item <- paste("\u202B", example1$item)
ggplot(example1, aes(item)) +
geom_bar() +
theme(axis.text.x = element_text(size = 25))
在阿拉伯语和希伯来语等从右到左的语言中,如何调整 ggplot2
文本元素的文本方向?
请注意,我不是在谈论对齐方式(由 hjust
控制),而是文本呈现的实际方向(相当于 CSS direction: rtl;
)。
因此,这不是 this question.
这是一个最小的可重现示例:
library(ggplot2)
library(tibble)
example1 <- tribble(
~item,
"האם יורד גשם?"
)
# or as ordinary data frame, to avoid 'tibble' dependency
example1 <- data.frame(item = "האם יורד גשם?")
ggplot(example1, aes(item)) +
geom_bar() +
theme(axis.text.x = element_text(size = 25))
我放大了轴文本 x 来说明我的意思。
代码生成如下图表,注意问号在文本的右侧,我希望它出现在文本的左侧。在tibble中example1
没问题(虽然看起来"opposite",问号结束了句子。)
你要把原来的问号改一下,然后就ok了:
library(ggplot2)
library(tibble)
example1 <- tribble(
~item,
"?האם יורד גשם"
)
ggplot(example1, aes(item)) +
geom_bar() +
theme(axis.text.x = element_text(size = 25))
您可以使用 "RIGHT-TO-LEFT EMBEDDING" ("Treat the following text as embedded right-to-left") 的 Unicode 控制字符:u202B
。参见 Explicit Directional Embeddings。
example1$item <- paste("\u202B", example1$item)
ggplot(example1, aes(item)) +
geom_bar() +
theme(axis.text.x = element_text(size = 25))