2010-08-29 19 views
25

Un diario estamos enviando un artículo que está pidiendo lo siguiente:Ahorro de trama para tiff, con alta resolución para su publicación (en I)

para asegurar la mejor calidad de reproducción de sus figuras agradeceremos alta archivos de resolución. Todas las figuras deben estar preferentemente en formato TIFF o EPS ... y deben tener la siguiente resolución:
Gráfico: 800 - 1200 DPI
Foto: 400 - 800 DPI
color (sólo CMYK): 300 - 400 PPP (DPI = puntos por pulgada)

Como estoy enviando un gráfico, intento guardarlo usando tiff.

Aquí está el código que estoy utilizando:

tiff(filename = "c:\\aaa.tiff", 
    res = 800, pointsize = 2) 
plot(1:100) 
dev.off()  

Pero, lamentablemente, se produce una imagen muy "voluminosa" - y si donde no utilizo pointsize = 2, me gustaría tener el mensaje de error:

error en plot.new) (figura: márgenes demasiado grandes

¿Alguna sugerencia?

+1

¿Qué tal si exportamos a pdf/ps y luego usamos ImageMagick o alguna otra herramienta para convertir a tiff? –

+0

Podría, pero podría perder datos mientras tanto. Además, hay algo básico aquí que me falta, y me gustaría aprenderlo (¿no es así? :)) –

+1

Exportarlo a SVG, al hacerlo, no obtendrá ninguna pérdida de calidad, porque está vectorizado. Puede exportar SVG con 'RSvgDevice' y' Cairo'. – aL3xa

Respuesta

18

respuesta corta:.

es un archivo voluminoso, porque cuanto mayor sea la resolución de archivo raster (TIFF), el mayor tamaño del archivo

la otra opción, EPS, es como PDF o PS.. Solo guarde en cualquiera de esos. Es un formato de imagen vectorial y uno que dijeron que era aceptable. Será más compacto y de mayor calidad. (A menos que su figura contiene una enorme cantidad de puntos o líneas.)

respuesta larga:

Un formato que pidieron es TIFF, un formato de mapa de bits. Guarda la información como un valor que representa cada píxel en la imagen. Si la imagen es de 100 DPI y 5 "cuadrados, entonces eso es 500x500 y guarda 250000 píxeles de información. A medida que la resolución de la imagen aumenta y el tamaño de la imagen se mantiene constante, los puntos de información necesarios aumentan. A 200 DPI son 1000x1000 y 1e6 píxeles de información. Esto explica por qué su archivo es tan voluminoso.

Para tener una imagen impresa de calidad en un cuadrado de 5 ", necesitará aproximadamente 300-400 DPI (puntos por pulgada). De esta forma, no verá cada uno de esos pequeños píxeles individuales que componen la imagen. Si tiene una resolución más baja, la imagen sigue siendo de 5 "x 5", pero cada bloque cuadrado (píxel) que compone la imagen es tan grande que puede verlos. Es por eso que pidieron esa resolución. De lo contrario, el texto y las líneas en los gráficos aparecerán como bloques, irregulares o borrosos. Es por eso que el texto en la pantalla de su computadora (solo alrededor de 100 DPI en estos días) no es tan alta calidad como la impresa en una hoja de papel (por lo general, al menos 300 ppp).

El otro formato que solicitaron fue EPS.Esto es postscript encapsulado. Como se trata de un archivo de una sola página, PS o PostScript serían equivalentes. Y, PDF también es similar. Estos son todos formatos de vectores, esencialmente el mismo formato vectorial (también pueden contener imágenes en formato raster pero ignorémoslas).

Un archivo de formato vectorial guarda la información sobre cómo se dibujó la imagen, pero no sobre cada píxel. Si tiene un eje x 3 "de largo colocado a 0.5" desde la parte inferior de la imagen, entonces el archivo vectorial conoce esta descripción. Cada característica del gráfico se describe en el archivo. Debido a esto, para dibujos simples es mucho más compacto que cualquier representación de trama en una calidad de imagen dada. Además, aumenta de tamaño sin perder calidad. Simplemente solicite que dibuje la imagen a 6 "x 6" en vez de 5 "x 5" y escala cada una de las instrucciones para dibujar también los componentes de la imagen. Por lo tanto, aunque el archivo PDF o EPS sea más compacto, imprimirá con la mejor calidad.

Envíe un archivo PDF o PS y no se preocupe por la resolución.

+0

No es cierto que los editores que quieren EPS también acepten archivos PDF; la conversión puede ser a veces complicada. – mbq

+0

he visto exactamente esta misma solicitud una docena de veces o más y nunca he fallado. Sin embargo, eps() funcionará bien. – John

+0

Para mí una vez falló; así que depende de la preferencia del editor técnico, supongo. – mbq

10

Cuando aumenta la resolución (res), el tamaño efectivo de un trazado disminuye, por lo que el error de margen salta. Trate de hacer una imagen más grande con mayor width y height (en teoría, para hacer una trama de un mismo tamaño virtual, debe ser new_(width|height)=res/72*old_(width|height).
Aún así, como Romunov sugirió, es una mejor idea usar ImageMagick; no lo hará pierde calidad

26

Una cosa que debes hacer es usar el parámetro de compresión.

Por ejemplo:

tiff("outfile.tif", compression = "lzw") 

LZW es un formato de compresión sin pérdidas, por lo que no perderá ningún dato, pero que sin duda reducir tamaño del archivo.

+0

¿Cómo se puede rasterizar en 'pdf (filename)'? - - Intenté 'pdf (filename, compression =" lzw ")' pero no es compatible. Solo necesito la figura en la presentación de LaTeX. ¿Debería usar tiff en su lugar? –

1

Le sugiero que utilice devEval en la biblioteca R.devices.

tuve este problema a mí mismo y lo resolvió gracias a esto:

options("devEval/args/path"=file.path(Folder_of_Output)) 
    devEval("tiff", name="Name_output", width=120, height=800, { 
    barplot(data, main="imagetitle"); 
    legend("top", legend =c("text of legend")) 
    }) 

Para mí funcionó como un encanto y se guardó el archivo directamente sin problema.

Cuestiones relacionadas