在从右到左的语言(例如阿拉伯语和希伯来语)中,如何调整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来说明我的意思。
该代码将产生以下图表,请注意,问号在文本的右侧,我希望它出现在文本的左侧。在小标题example1
中没问题(即使看起来“相反”,问号也会使句子结束。)
答案 0 :(得分:1)
您可以将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))
答案 1 :(得分:0)
您必须更改原稿中的问号,然后它才能正常显示:
library(ggplot2)
library(tibble)
example1 <- tribble(
~item,
"?האם יורד גשם"
)
ggplot(example1, aes(item)) +
geom_bar() +
theme(axis.text.x = element_text(size = 25))