Поддержка языков справа налево в R с использованием Mac
Мне интересно, есть ли возможность поддерживать языки справа налево в R при использовании Mac
Например, предположим следующий код:
x <- data.frame(a=runif(10),b=runif(10))
ggplot(x, aes(a,b)) + geom_point() + xlab("سلام")
Вот результат:
Здесь я попытался изменить x-label как персидское / арабское слово (سلام = Hello). При правильном отображении в коде (с использованием R-Studio) на графике символы سلام отображаются в обратном порядке (слева направо).
Также связь между двумя последовательными буквами (т. Е. س, связанная с ل будет سل) нарушена.
У вас есть идеи, как это исправить?
Обновить
С ответом @agstudy я нашел R под Ubuntu совершенно нормально. Однако я не знаю, как решить проблему в Mac (OS X 10.9.1), обновив версию R и R-Studio
4 ответа
Он отлично работает для меня. Я просто изменяю размер ярлыков, чтобы лучше показать это.
library(ggplot2)
x <- data.frame(a=runif(10),b=runif(10))
ggplot(x, aes(a,b)) +
geom_point()+ xlab('سلام') +
theme( axis.title=element_text(size=100,face="bold"))
Я использую:
other attached packages:
[1] ggplot2_0.9.3.1
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Также отлично работает под:
R version 3.0.3 (2014-03-06)
Platform: x86_64-pc-linux-gnu (64-bit)
У меня была такая же проблема с ивритскими буквами, и мне удалось обойти ее, читая метку из файла Excel вместо того, чтобы печатать ее непосредственно в R studio. Этот метод работает до тех пор, пока вам не нужно смешивать буквы с цифрами, в этом случае все становится запутанным. например:
Я знаю, что это старый вопрос, но недавно я написал пакет R для его решения. Это простая оболочка R вокруг некоторого кода Python, поскольку эта проблема также возникает при использовании Python в Mac. Пакет переворачивает арабскую строку, а затем повторно соединяет буквы правильно, используя модуль python-arabic-reshaper Абдуллы Диаба.
Моя посылка здесь. Модуль Абдуллы Диаба (для Python) находится здесь.
Возможно, этот вопрос старый, но недавно я столкнулся с подобной проблемой и последние два дня пытался найти решение. Я пробовал различные решения, предложенные в ответах, например использованиеcairo_pdf
, но ни один из них не работал у меня в Windows.
Я понял, что мне нужно найти графическое устройство, которое не конвертировало бы текст в глифы. К счастью,svglite
пакет делает именно это. Однако включениеsvg
файл в документ LaTeX создал еще одну проблему.
Ну, это решение:
current_plot_hook <- knit_hooks$get('plot')
knit_hooks$set(plot = function(x, options) {
res <- current_plot_hook(x, options)
filename <- file.path(options$fig.path, paste0(options$label,"-", options$fig.num))
filenameext <- paste0(filename, ".svg")
rsvg::rsvg_pdf(svg = filenameext,
file = paste0(filename, ".pdf"),
height = options$fig.height * 92,
width = options$fig.width * 92)
res
})
opts_chunk$set(
dev = "svglite"
)