R:tiff()不会压缩或将分辨率设置为300 ppi

时间:2012-09-26 20:26:33

标签: r plot tiff

我正在尝试使用R保存一些图表以供发布。我希望用lzw压缩它们并将分辨率设置为300.由于某种原因,它不允许我这样做。事实上,似乎R忽略了我设置的一些变量。

对于代码示例,

tiff(file="file.tiff", 
            width=6.83, height=6.83, units="in", 
            pointsize="12", compression = "lzw", 
            bg="white", res=300, antialias = "none" )

输出一个大小为28 x 28英寸,分辨率为72 ppi的未压缩文件。

可重复的例子是

hist(rnorm(1000))
dev.off()

这是FileMagick for file.tiff的输出

Image: file.tiff
  Format: TIFF (Tagged Image File Format)
  Class: DirectClass
  Geometry: 2049x2049+0+0
  Units: PixelsPerInch
  Type: PaletteAlpha
  Base type: TrueColor
  Endianess: MSB
  Colorspace: sRGB
  ...
  Compression: None
  ...
  Filesize: 16.8MB

我在另一台运行10.7的Apple上测试了这个并得到了相同的结果。可以看出,即使使用选项压缩并将分辨率设置为300 dpi,输出也不会遵循选项。

1 个答案:

答案 0 :(得分:1)

我通过附加

在GNU / Linux上用R 2.15.1验证了你的例子
hist(rnorm(1000))
dev.off()

tiff()来电,并使用ImageMagick的命令行工具"file.tiff"检查生成的文件identify(大部分输出已省略):

Image: file.tiff
  Format: TIFF (Tagged Image File Format)
  Class: DirectClass
  Geometry: 2049x2049+0+0
  Resolution: 300x300
  Print size: 6.83x6.83
[...]
  Compression: LZW
[...]
  Filesize: 70KB
[...]

R命令似乎完全符合您的意图。我怀疑你不是以你描述的方式创建TIFF文件,或者你用来检查TIFF文件属性的工具是否有问题。