统计图形画好了,怎么导出符合期刊要求的图片呢?
此前一段时间,我陆陆续续推送了如何利用统计软件绘制统计图形的系列文章。我绘制统计图形的主要工具是SAS,这可能与我在工作中使用的主要统计工具是SAS有关。当然,我努力挖掘SAS 的同时,也借用了R以及EXCEL的一些操作。涉及的统计图形各种各样,从简单的散点图,直方图到复杂一点的生存曲线、亚组分析森林图等等,具体可戳文末的清单。
总体而言,内容还算比较全面且有体系,不过,仍然有一个问题,没有好好总结过,那就本文的标题:统计图形画好了,怎么导出符合期刊要求的图片呢?
要回答这个问题,首先需要了解主流学术期刊对提交的图片的要求都是怎么样的。感兴趣的可以搜搜四大期刊的Instruction for author里对Figure的要求。这里不浪费大家时间,简要展示下我的初步统计:
看到了吗?虽然图片格式种类繁多,但归结起来,其实就两类:位图和矢量图。位图里以TIF(TIFF)居多,矢量图以EPS(EPSI)最为流行。由于很多期刊的图片都有自己浓浓的风格特色,所以他们在提交时也是鼓励作者提交EPS格式的矢量图,以方便出版时的再次编辑。
分不清位图和矢量图区别的请先自行百度下。或者,对照下表吧。
因此,回答 「统计图形画好了,怎么导出符合期刊要求的图片呢?」的第一个要点就是:尽量导出矢量格式(如EPS)。如果已经确定不需修改,可以导出位图格式(如TIF)。
接下来的问题就是,如何操作。如何从各统计软件直接导出EPS矢量格式的图片,或者TIF位图格式的图片?
以我倒腾的几个为例:
①SAS
SAS 9.4 默认的输出设备是HTML,默认的输出图片格式PNG。SAS除了为每一种输出设备配备默认的图片输出格式外,还可支持其他格式的图片。各设备支持的图片格式具体总结可见下图:
仔细上面的总结图,你觉得最好的输出设备是?
我个人觉得最好的输出设备是SAS老版本默认的输出设备LISTING。LISTING设备既可以支持EPS(EPSI)矢量图片的格式,同时也支持TIF(TIFF)位图格式,一举两得呀。配合gpath指定路径,imagename指定名称,outputfmt指定格式,dpi 指定DPI,完美!
一个栗子:
输出矢量图EPS格式
ods html close;
ods listing gpath="D:\03Writting\06 Wechat\2016-11-04 Graphfmt";
ods graphics on/imagename="ex_eps" outputfmt=EPS;
procs gplotdata=sashelp.cars;
hbox weight / category=origin;
run;
输出矢量的优势就是后期可以任意编辑图形的风格。图形的每个元素都是可以再编辑的哦!那号AI(Adobe Illustratior)你想怎么玩就怎么玩吧。
如果确定就这样了,不修改了,那就一锤定音,导出TIF格式提交吧。别忘了用dpi指定分辨率。
输出位图TIF格式
ods html close;
ods listing gpath="D:\03Writting\06 Wechat\2016-11-04 Graphfmt"dpi=300;
ods graphics on/imagename="ex_tif" outputfmt=TIF;
proc sgplotdata=sashelp.cars;
hbox weight / category=origin;
run;
注意:使用listing设备是,建议前面用ods html close语句关掉html设备。
②R+Rstudio
R有两种方式可以操作:按钮 和 代码
按钮:在Rstudio里直接通过EXPORT按钮,设置好尺寸和选择好格式(TIF/EPS),直接导出。 注意,有时图片较大,Rstudio的默认尺寸不够,显示会不完全,此时的尺寸设置就尤为关键了。
代码:采用dev.copy和dev.off函数,当然也可以用tiff 函数导出tiff格式图片或者postscript/cairo_ps函数导出eps图片。
forestplot(as.matrix(dat4[,1:5]),dat4$V6,dat4$V7,dat4$V8,
graph.pos= 5, graphwidth =unit(50,"mm"), is.summary = c(TRUE,rep(FALSE,28)),
boxsize=0.2,line.margin=unit(1,"mm"), lineheight = unit(10,'mm'), colgap =unit(3,"mm"),
zero=1, xlog = TRUE)
dev.copy(tiff,"fig4.tiff", width=1000, height= 1500, res=300,units ="px")
dev.off()
③Excel
读过刘万祥先生的《EXCEL图表之道》,我相信你对Excel的绘图能力的认知会大有转变,你的绘图思维也会大有提升(文末10的链接是用Excel做森林图的步步教程)。不过要想从Excel里导出高质量的图片,目前比较靠谱的办法还是另存为PDF文件,这样图片还是矢量图,用AI打开PDF后,不仅文字可以修改,图形也是可以编辑的,导出其他格式也是完全没有问题的。
总结:
SAS,ODS LISTING+ IMAGENAME+OUTPUTFMT
R+Rstudio,Export按钮/Dev.copy+dev.coff
Excel,另存为PDF+AI编辑。
关注「统技思维」公众号,后台推送「exGraph」,好礼相送。
推荐阅读:
版权说明:
感谢支持鼓励,形式包括不限于转发,转载,推荐,赞赏。
微信公众平台的非商业培训机构公众号,无需授权,可直接转载。
网站转载,不得省略作者信息,包括公众号二维码。