viernes, 8 de febrero de 2013

Gráficos svg en R. Linux y Windows

La "calidad", medida en número de píxeles, tiene mucha importancia en la publicación de artículos científicos. Como ya he dicho muchas veces, en mi conversión completa a software libre, uno de los pasos más importantes ha sido el uso del paquete estadístico R. La generación de gráficos en R es compleja, ya que se obtienen por comandos, pero aun más complejo es su ajuste cuando se quiere cambiar la resolución. Debido a ello he estado valorando la posibilidad de extraer los gráficos en formato vectorial -svg-, lo que nos daría la opción luego de exportarlos a mapa de bits con los píxeles que queramos en cada momento sin pérdida de calidad. Leyendo en la red parecía imprescindible la instalación del paquete Cairo para la extracción de los gráficos en formato svg. Sin embargo, ha sido solo tiempo perdido, por que en Linux no es necesario. El libro R Graphs cookbook, de Hrishi V. Mittal, me ha aclarado esta y otras muchas dudas (la edición kindle es relativamente barata).
Si bien en windows es necesario la instalación del paquete Cairo para poder generar ficheros svg (a partir de ahora son funciones/comandos internos de R),

install.packages('Cairo') # Intalación del paquete
library(Cairo) # Activación del paquete en R

y luego para obtener el gráfico en svg ejecutaríamos las siguientes funciones (no he comprobado personalmente estos comandos por que no tengo windows):

CairoSVG('nombre.fichero.svg')
comandos del fichero
...
...
dev.off()

en Linux con un simple:

svg('nombre.fichero.svg')
comandos del fichero
...
...
dev.off()

se obtiene el gráfico.
El problema para mi fue que leía las notas de otros sin darme cuenta que la mayor parte de ellos usan Windows. Como de costumbre, en Linux es más fácil.
Ejemplo para ver que los comandos son más simples de lo que parecen; estos comandos,


dan como resultado algo como ésto,



pero en vectorial (la primera orden; para poder mostrarlo en el blog he tenido que hacer un png -la segunda serie de comandos- ya que blogger no admite svg). Pero solo en Linux. Los de Windows, no olvidarse de instalar paquete Cairo y luego llamarlo, para poder hacer lo mismo.


PD. "Save yourself from misery. Puege windows. Install Linux"


No hay comentarios:

Publicar un comentario