获取我正在查看的情节作为 300 像素 TIFF 以供发布
Posted
技术标签:
【中文标题】获取我正在查看的情节作为 300 像素 TIFF 以供发布【英文标题】:Get the plot I am looking at as a 300px TIFF for publication 【发布时间】:2015-09-14 11:21:52 【问题描述】:我正在尝试为我解决一个常见问题。一旦我有了一个绘图(通常使用 ggplot 制作),那么我需要高分辨率(300 或有时 600 dpi)TIFF 图像(在 OSX 中)的输出。
我想我可以为此创建一个简单的函数,但它似乎不像我预期的那样工作。
dev.copy2tiff <- function(filename,res=300,compression="lzw",...)
sizes <- dev.size(units="px")
cop <-dev.copy(tiff,filename=filename,width=sizes[[1]],height=sizes[[2]],units="px",res=res,compression=compression,pointsize = 3,...)
dev.flush()
dev.off()
return(cop)
输出:
情节应该是什么样子的屏幕截图:
为什么 TIFF 中的输出与屏幕上的不一样,我该怎么办?
编辑:
刚刚意识到:设备的大小当然应该指定为宽度和高度,而不是像素。修改后的代码:
dev.copy2tiff <- function(filename,res=300,compression="lzw",...)
sizes <- dev.size(units="cm")
cop <- dev.copy(tiff,filename=filename,width=(sizes[[1]]),height=(sizes[[2]]),units="cm",res=res,compression=compression,...)
dev.flush()
dev.off()
return(cop)
生成外观精美的 TIFF 图像,看起来与屏幕上呈现的图像(在 RStudio 中)相似,但采用 72 DPI(根据 OS X 预览)。
为什么不是 300 dpi?
【问题讨论】:
【参考方案1】:解决方案似乎是通过 EPS 文件格式。
dev.copy2eps(file="filename.eps")
现在是我的朋友。在 Preview (OSX) 中打开后,它可以导出到 TIFF(或按原样提交)。
【讨论】:
以上是关于获取我正在查看的情节作为 300 像素 TIFF 以供发布的主要内容,如果未能解决你的问题,请参考以下文章