日本一意孤行?国际原子能机构认为福岛处理水排海计划符合国际安全标准

普里戈津之死!我的三点评论!

从人类历史,看人类未来

目录一览!马工程重点教材《习近平新时代中国特色社会主义思想概论》

从福岛核废水说起:我们是在谈科学还是讲立场

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

统计图形画好了,怎么导出符合期刊要求的图片呢?

谷鸿秋 统计札记 2023-02-24


此前一段时间,我陆陆续续推送了如何利用统计软件绘制统计图形的系列文章。我绘制统计图形的主要工具是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后,不仅文字可以修改,图形也是可以编辑的,导出其他格式也是完全没有问题的。






总结:

  1. SAS,ODS LISTING+ IMAGENAME+OUTPUTFMT

  2. R+Rstudio,Export按钮/Dev.copy+dev.coff

  3. Excel,另存为PDF+AI编辑。



关注「统技思维」公众号,后台推送「exGraph」,好礼相送。



推荐阅读:


  1. 如何用SAS画正态、t、卡方以及F分布曲线?

  2. SAS绘图是不真的又难又丑啊?

  3. 多图预警:如何又快又美地用SAS画各种统计图形?

  4. 精雕细琢:一图看尽丑小鸭变白天鹅全过程,手把手教你SAS画图哦!

  5. 怎么画一个丰满又美丽的生存分析K-M曲线图?

  6. 怎么用SAS来玩转统计地图?

  7. 扒一扒一些数据平滑曲线的实现方法

  8. 校正的生存曲线如何绘制:方法总计及SAS代码?

  9. SAS,给你点颜色看看!

  10. 玩转森林图的n种方法,总有一种适合你!

  11. 那就再讲讲三行R代码搞定的森林图吧


版权说明:


  • 感谢支持鼓励,形式包括不限于转发,转载,推荐,赞赏。

  • 微信公众平台的非商业培训机构公众号,无需授权,可直接转载。

  • 网站转载,不得省略作者信息,包括公众号二维码。



文章有问题?点此查看未经处理的缓存