R语言 将坐标轴文本方向更改为从右向左

qvsjd97n  于 2023-03-15  发布在  其他
关注(0)|答案(2)|浏览(263)

在从右到左的语言中,如阿拉伯语和希伯来语,我如何调整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中,这是可以的(即使它看起来“相反”,问号结束了句子)。

3zwjbxry

3zwjbxry1#

您可以使用Unicode控制字符进行“从右向左嵌入”(“将以下文本视为从右向左嵌入”):u202B。请参阅显式方向嵌入。

example1$item <- paste("\u202B", example1$item)
ggplot(example1, aes(item)) + 
   geom_bar() +
   theme(axis.text.x = element_text(size = 25))

xdyibdwo

xdyibdwo2#

你得把原文中的问号改了,然后出来就好了:

library(ggplot2)
library(tibble)
example1 <- tribble(
  ~item,
  "?האם יורד גשם"
)

ggplot(example1, aes(item)) + 
geom_bar() + 
theme(axis.text.x = element_text(size = 25))

相关问题