2016-02-28 6 views
1

наш sysadmin просто обновил нашу операционную систему до SLES12SP1. Я переустановил Rv3.2.3 и попытался сделать графики. Я использую cairo_pdf и пытаюсь сделать график с x-меткой \u0298, т. Е. Символ солнца, но он не работает: ярлык просто выходит пустым. Например:R отображает некоторые символы Юникода, но не другие

cairo_pdf('Rplots.pdf') 
plot(1, xlab='\u0298') # the x-label comes up blank 
dev.off() 

Это использовалось для работы, но по какой-то причине оно больше не существует. Он работает с другими символами, например.

cairo_pdf('Rplots.pdf') 
plot(1, xlab='\u2113') # the x-label comes up with the \ell symbol 
dev.off() 

Когда я просто вставить в солнечном символе, т.е.

plot(1, xlab='ʘ') 

тогда я получаю предупреждение

Warning messages: 
1: In title(...) : 
    conversion failure on 'ʘ' in 'mbcsToSbcs': dot substituted for <ca> 

Машина немецкий, но я использую США Английский UTF- 8 местонахождение:

> sessionInfo() 
R version 3.2.3 (2015-12-10) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: SUSE Linux Enterprise Server 12 SP1 

locale: 
[1] LC_CTYPE=en_US.UTF-8  LC_NUMERIC=C 
[3] LC_TIME=en_US.UTF-8  LC_COLLATE=en_US.UTF-8 
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 
[7] LC_PAPER=en_US.UTF-8  LC_NAME=C 
[9] LC_ADDRESS=C    LC_TELEPHONE=C 
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C 

Любые советы о том, как Я могу получить символ солнца?

ответ

0

Возможно, ваш текстовый редактор использует latin1, поэтому вы должны отправить латинские символы на консоль.

Посмотрите на кодировке

Encoding('ʘ') 

и/или попробовать

plot(1, xlab=iconv('ʘ', from='latin1', to="UTF-8")) 

, но будьте осторожны, кодирование может измениться в то время как справиться. Если вы используете Notepad ++, вы можете конвертировать в текстовый редактор между различными кодировками.

+0

Это дает мне «Ê» – rhombidodecahedron

+0

Кроме того,> Кодирование («ʘ») [1] «UTF-8» – rhombidodecahedron

+0

Тогда я не знаю, но, возможно, проблема в том, что вы не используете немецкий язык как свой местный , 'Sys.setlocale (« LC_TIME »,« de_DE.UTF-8 »)' Я использую R версию 3.2.3 (2015-12-10) и имею его как локаль locale: [1] LC_CTYPE = de_AT.UTF -8 LC_NUMERIC = C [3] LC_TIME = de_AT.UTF-8 LC_COLLATE = de_AT.UTF-8 [5] LC_MONETARY = de_AT.UTF-8 LC_MESSAGES = de_AT.UTF-8 [7] LC_PAPER = de_AT.UTF -8 LC_NAME = C [9] LC_ADDRESS = C LC_TELEPHONE = C [11] LC_MEASUREMENT = de_AT.UTF-8 LC_IDENTIFICATION = C и он работает. Но я не знаю точно. – Florian