2012-08-23 7 views
7

Tengo el siguiente código para crear un plot. En x - y y-axes hay symbols que aparecen en la pantalla, en JPEG cuando guardo mi diagrama en ese formato, pero no cuando guardo el diagrama como PDF.Símbolos de trazado falla en PDF

¿Hay un símbolo alternativo a mi \u2030 que se imprimirá en mi PDF u otra solución a mi problema? Consulte los ejemplos a continuación sobre los trazados correctos (formato JPEG) y los incorrectos (PDF).

plot(c(-1,1), c(-1,1), bty = "n", type= "n", las = 1, cex.lab = 1.5, cex.axis = 1.25, main = NULL, 
ylab=expression(paste("Correlation Coefficient (r) for ", delta ^{15},"N"," \u0028","\u2030","\u0029")), 
xlab=expression(paste("Correlation Coefficient (r) for ", delta ^{13},"C"," \u0028","\u2030","\u0029"))) 
axis(1, at = seq(-1.0, 1.0, by = 0.1), labels = F, pos = 0, cex.axis = 0.05, tcl = 0.25) 
axis(2, at = seq(-1.0, 1.0, by = 0.1), labels = F, pos = 0, cex.axis = 0.05, tcl = 0.25) 

enter image description here enter image description here

+2

que tiene (al menos como yo lo entiendo ti.) probado otro dispositivo pdf, como 'cairo_pdf'? –

+0

¿No puedo encontrar nada que me parezca "incorrecto"? –

+0

Probé cairo_pdf pero obtengo un error cuando ejecuto el comando 'plot' como se indicó anteriormente. –

Respuesta

4

El problema es que su fuente predeterminada no tiene "‰" (que yo hablaría como "por mil") como el glifo que se produce con \ u0028. Si necesita cambiar a una fuente que tiene ese glifo:

?pdfFonts 

Esto es lo que me pasa con mi configuración en la que no hay ningún problema

> str(pdfFonts("sans")) 
List of 1 
$ sans:List of 3 
    ..$ family : chr "Helvetica" 
    ..$ metrics : chr [1:5] "Helvetica.afm" "Helvetica-Bold.afm" "Helvetica-Oblique.afm" "Helvetica-BoldOblique.afm" ... 
    ..$ encoding: chr "default" 
    ..- attr(*, "class")= chr "Type1Font" 
+1

Obtengo el mismo resultado, pero puedo replicar el problema con la codificación predeterminada. – Roland

+0

No tuve dificultad con la codificación predeterminada en mi Mac. (Que puede no ser útil para el OP que no ha divulgado su SO.) –

+0

Su comentario anterior dice: 'R versión 2.14.0 (2011-10-31) Plataforma: i386-pc-mingw32/i386 (32-bit)' –

3

es probable que tenga que cambiar la codificación. En mi mac esto me pone la señal ‰:

pdf('test.pdf',encoding="MacRoman") 
plot.new() 
text(0,labels="\u2030") 
dev.off() 

Buscar en el directorio ‘enc’ del paquete grDevices para codificaciones disponibles y probarlos.

+0

Cuando pruebo el código, obtengo 'Error en text.default (0, labels =" ‰ "): codificación desconocida 'MacRoman' en 'mbcsToSbcs'. ¿Alguna sugerencia sobre lo que esto significa y cómo resolverlo? –

+0

Sí. Debes probar con una codificación diferente ya que no estás en un Mac, sino usando Windows. – Roland

+1

Después de probar en mi máquina de Windows en el trabajo: no puedo replicar su problema y el código funciona bien también con la codificación 'MacRoman', que también debería estar disponible en Windows. Sugiero instalar la versión R más reciente (2.15.1) y si el problema persiste, nos da la salida completa de 'sessionInfo()'. – Roland