2015-02-11 3 views
-1

У меня есть странная проблема:Сохранение участков с «≤» и символы «≥» в R

Я работаю на участке, что в тексте легенды содержит символ «≥». Например, "x ≥ 2". Интересно, что символ отображается правильно, когда я рисую его с помощью графического устройства R, но он отображается неправильно, когда я сохраняю его как PDF или EPS.

Любые предложения, как правильно его сохранить в PDF/EPS?

+0

Я не могу даже получить 'х ≥ 2', чтобы правильно отображаться в R. Какая ОС и программы вы используете конкретно? (например, RStudio?) – thelatemail

+0

Работает на Mac (конечно, с использованием вектора выражений). Я не знаю, почему это было бы иначе в RStudio, но если да, тогда вы должны спросить их об этом. –

+0

Я использую современный дистрибутив Linux, не RStudio, просто терминал. – Oposum

ответ

1

Я подозреваю, что вы используете Mac?

Использование cairo_pdf вместо pdf:

> cairo_pdf("tmp.pdf") 
> plot(2:10, xlab="x ≥ 2") 
> dev.off() 
null device 
      1 

enter image description here

+0

Я использую Linux, но 'cairo_pdf' все равно выполнил эту работу. Большое спасибо. – Oposum

3

Вы добавляете символ, используя выражение и соответствующую разметку ?plotmath? Я подозреваю, что проблема в том, что вы буквально использовали «≥» глиф в тексте легенды. Это будет работать, только если вы правильно установили encoding (см. ?pdf), а затем это может плохо работать повсюду.

Выполнение этого в plotmath должен быть переносимым:

plot(1:10) 
legend("topleft", 
     legend = c(expression(x >= 2), expression(x <= 1)), 
     pch = 1:2) 
+0

Ницца. Есть ли недостаток в использовании say 'legend (" topright ", legend =" x \ u2265 2 ")' вместо этого? Помимо ясности, которое «выражение» определенно имеет. – thelatemail

+1

Только то, что является UTF8, может не работать хорошо в локалях, не использующих UTF8. IIRC эти глифы в plotmath используют шрифт символа, который является достаточно портативным и надежным, но он не охватывает все мыслимые символы. Раньше мне приходилось прибегать к настройке кодировки на использование символа per mille, например. –

+0

Это не сработало для меня, потому что я получаю «непредвиденный ввод в выражении ...». Я полагаю, что то, что я пытаюсь написать, не является выражением, и поэтому, cairo_pdf выполнил эту работу. Я использую Linux. – Oposum

Смежные вопросы