Wenhu Next Generation Bioinformatician

文章中的Figures制作流程


本文主要小结一下如何制作达到杂志要求的图片的流程,给自己做个备忘。欢迎转载,但请注明出处!

此图非彼图

最近我在忙着写博士大论文,所以更新比较慢,望各位见谅!本来我准备继续更新学R学系列,讲讲R的学习心得,但这两周被图片给折腾得够呛,赶快攒篇博文记录下,以免以后忘记!

这两年多的实验做得实在是惨不忍睹,可老板还是想把结果发表在更惨不忍睹的杂志上,他负责文,我负责图。别看杂志分数不咋地,要求可是不低,又是排版,又是分辨率,折腾了一圈,总算交差。下面我就讲下个人的处理流程,各位能用得上的,别忘了留言点个赞哦!

首先,明确一下,此文所说的图不是软件导出的图,也不是荧光显微镜拍下的图,而是最终呈现在发表的文章中的Figure,前面的图可以认为是Figure的素材。

本文多数背景知识来自于博文How to Create Publication-Quality Figures,在此致谢!

工具介绍

我们大多是穷人,没有钱去买photoshop或者illustrator,而且它们的复杂度也让我一度厌恶作图,更可气的是,这些商业化软件性能大部分还不如同类的开源软件(Adobe, a dou bi?)。所以,本文介绍的工具都是有口皆碑的开源免费软件

  1. Inkscape:图片排版、文字注释,上手容易,功能丰富。中文名叫自油自画~~

  2. ImageJ:格式转换、分辨率调整,它的主页分分钟让你想起一个老朋友,R的主页,低调的奢华!它还有一个包含很多插件、专门用于科技图片分析的版本,Fiji: Fiji is just ImageJ,大家可以直接下载使用。

打点小基础

要想处理好图片,首先要了解图片在电脑中是一种什么形式的存在!

一般来说,电脑有两种数字化描述图片的方法:栅格数据 (raster data)矢量数据 (vector data)

  1. 栅格数据的另一个名称叫位图 (bitmap),其实就是把一张二维的图用网格给它分成很多小方块,每个方块称为一个像素 (pixel),通过描述每个像素的颜色、灰度等属性,来拼出整张图片。那么,对于同样的一幅图,分割成的像素越多,那么图片就被描述得越细致,这就是常说的分辨率高或像素高,当你把一个位图给不断放大时,你就能看到好多不同颜色的方块 (像素大战这电影很应景,可以去看看~)!

  2. 矢量数据,一张矢量图片对电脑来说就类似于一串作图指令,比如从A到B之间画一条直线,0.5磅;再从B到C画一个圆圈,180度,红色;等等。矢量图你放得再大,看到的还是清晰的线条,它是与分辨率无关的,或称为无损的

杂志社经常会提出一个要求:图片分辨率要大于……dpi或ppi!dpi (dots per inch),ppi (pixels per inch)这两个含义基本相同,就是指在单位长度里包含多少个方块/像素,方块越多,像素自然就越高了。

万里长城别挡我

那么,矢量图片肯定比栅格图片好哦,无关分辨率啊,但实际图片还是以栅格数据为主。当一个图很复杂时,相应的矢量作图指令肯定也会很冗长 (有些甚至无法描述),那么自然会导致图片存储空间过大以及处理过慢,另外,很多相机直接拍下的就是栅格图,而且几乎所有的电脑、手机屏幕也都是像素屏,所以栅格图的地位还是杠杠的!

有关颜色的知识与本文关系不大,因为很多时候颜色从一开始就确定好了。我就不多做介绍了,大家有兴趣可以了解下灰度RGBCMYK这三种颜色模式。

第一步:得到图片

这个根据实验的不同,原始数据的存在形式不同以及个人风格的不同,这一步没办法给出通用套路。比如我的实验数据大多数是以统计柱状图来显示,你的可能是五彩斑斓的细胞花式自拍,还有些临床方向的可能更多的是组织病理染色照片等等。

不过,请谨记一点原则:那就是尽可能以矢量数据导出你的原始图片!换言之,以PDF,PostScript或EPS格式导出的图片是首选!而且,能PDF就PDF,方便下一步进入Inkscape排版 (毕竟,大多数软件都支持这种格式,连用PowerPoint画个示意图也可以导出PDF)!

处理科技图片的要诀:不到最后,不要轻易损失图片质量!如果在一开始就导出了TIFF/PNG/JPEG/BMP等位图格式的图片,那么图片质量就已经有所损失了。如果你想通过硬生生调高dpi的做法,那只会得到更模糊的图片,原因在文首提到的博文里有详述。

想当年,青涩的我都是用美图秀秀给数据截屏的。。。

第二步:图片排版

原始文件一定要备份,别直接在上面修改!!!

文章的Figure中大多包含好些个小图,这些小图就是来自于上一步的成果,那么,如何给这些图片排位置,对对齐呢,而且还得加上A/B/C这些序号和文字的描述呢?

将将,Inkscape登场了!

  1. PDF文件导入File > Import...,想导多少导多少。

  2. 排版的要诀:View > Page Grid,背景的网格线可以让你轻松对齐,并且可以吸附,方便操作。

  3. 另外,如果需要将某几张图片合并成一张,方便一起排版,那么用Shift加鼠标左键先选中需要合并的图片,然后Ctrl + G (Group);同理,有些导入的图片已经是合并了,想把它拆开,只需Ctrl + U (Ungroup)即可。

  4. 图片要裁剪,怎么办:F4键,选好裁剪区域后,按住Shift同时点击图片里余下的部分,然后Object > Clip > Set

  5. 加图片序号和文字F8,直接在想要的位置写入文字即可。tip:外文一般用Arial或Helvetica字体显示起来比较养眼!

  6. 保存:File > Save As...,首先,保存一份.SVG文件,如果今后有任何增改删减,直接打开这个文件即可,相当于备份;其次,再另存为一份.PDF文件,因为很多杂志社在将你的稿子送审时,不会直接将诸如TIF的图片文件发过去,而是会让你再准备一份PDF的图片文件。

  7. 导出:File > Export PNG Image...,目前版本的Inkscape还不能直接导出TIF文件,只能先导出PNG图片,然后再在ImageJ里做转换。如下图,在弹出的对话框里,你可以在pixels at后指定杂志需要的dpi值,并且在导出时,要注意你选的是Page还是Drawing,区别试一下就知道了,一般选后者。

万里长城别挡我

第三步:格式转换

前一步得到的PNG图片,需要进入ImageJ做格式转换 (当然,ImageJ的用途还有很多,完全可媲美photoshop)。

File > Open...,先打开PNG图片,再File > Save As...,转成你想要的格式,比如TIFF。

这里有个坑,前一步保存的PNG本身是设置了dpi的,比如600,结果用ImageJ导出为TIFF后,查看属性 (右键-属性) 发现只有96dpi,我目前没想通为啥,但解决办法倒是有了:

File > Open...,先打开PNG图片,再在Image > Adjust > Scale to DPI中设置dpi值,默认一般是600,改成你所需要的值,注意,同时,你还需要按照dpi的改变比例去修改WidthHeight两个值,比如dpi从600改到1200,那么相应的WidthHeight要缩小为一半!改好DPI之后,就可以再执行前面的File > Save As...,转成你想要的格式,比如TIFF。

小结

总体来说,需要注意的就是:

1. 原始图片尽量用矢量格式数据 (如PDF)

2. 在Inkscape中对图片进行排版和文字修饰

3. 在ImageJ中对图片进行DPI和格式转换

关注我的最新博文,请订阅my RSS ~~


Similar Posts

上一篇 01-regex

评论 / Comments