科研画图都用什么软件?

链接:https://www.zhihu.com/question/29557377/answer/2288377623

编辑:深度学习与计算机视觉

声明:仅做学术分享,侵删

15706fd23f307d95a93d2c1ca1432bed.png

在看一些文章的时候,经常感觉有些概念图画的非常精致漂亮,但是不知道是用什么软件画的,大家都习惯使用什么样的软件呢?

77ab683c7b458d3d7fd68a9a5ec0ef58.png

作者:丁香学术

https://www.zhihu.com/question/29557377/answer/489326809

可以用 AI,也就是 Adobe Illustrator 画图,尤其是有些自科文章里面的细胞图,信号通路图之类的。

比如这样的图

9d2444ccbb1e1f365e058ff731561f7c.png

我们打开软件后选择左边的「铅笔工具」,先从画线粒体开始,描出大致形状后可在图形选中的情况下修改线条,一直改至线条圆滑为止(初步看还是较为满意滴)。

b66bf4e84e38fc94c63b2562e8408da5.png

然后我们选择左侧「填色」,对颜色进行填充;首先选中图形,双击左侧「填色板」,调出「拾色器」,选择合适的颜色分别填充线粒体外膜和内膜,再将内膜移至外膜内(此时一个像样的线粒体就初步完成啦)。

ad7af43718c9c6816e51db02cd2476f6.png

接着通过「Ctrl+C」和「Ctrl+V」将已完成的线粒体复制两份,并旋转方向,如果此时觉得图形较大,可以通过右击,选择「变换」,选择「缩放」,适当将图形缩小(以自己满意为主)。

f11b80917d376ebcdb54ee18b13874a7.png

接着我们再进行画椭圆,选择左侧「图形工具」,本次选择「椭圆工具」,画好椭圆后将其填充为淡紫色。

722a7e105f0a612939f2496431852460.png

然后将椭圆形移至线粒体附近,此时由于处于不同图层,因此椭圆可能位于线粒体上方,别着急,此时只需右击,选择「排列」,「置于底层」,即可将椭圆形的位置置于底层。

8d9683af80130223ea280af8e3e7c4ae.png

接着我们还是选择「铅笔工具」,将最外层的边框画好,然后加粗边框的线条;选择「描边」,选择 4 pt 粗的边框,接着将颜色填充好,将边框置于所有图层的最底层。

14dd0f32dfe9e1923119df45b143b709.png

初步看大致轮廓已经构建好了,接着我们将各项补齐,然后再添加文字,文字添加也很简单,选择「文字工具」,在小边框里将文字添加,然后移至图中对应位置。

14fb885f73ae204a0afb3467980f8939.png

加完文字后接下来就是上升下降的箭头了,选择左侧「直线段工具」,添加直线后右侧点击「描边」,调出添加箭头的选项,默认的箭头过大,此时下方可进行缩放,将其缩放为 30%,此时完成箭头的添加;如果需要将直线变为虚线,则只需在「虚线」框中打勾,则可完成。

需要画曲线的话,同样在左侧「直线段工具」中,长按,选择曲线。

aa3e6722f5a21e6ffed1ca1cd5e606cf.png

接着添加转录因子,选择左侧的「圆角矩形工具」,将颜色填充为淡黄色,添加上基因名(一个转录因子由此生成,相当 easy)。

4f2770b00b16d97031209b930f04c2d7.png

添加文字和曲线后我们的第一部分则已经完成,归纳起来就是描边,填充颜色,添加线条和文字,总体来说很轻易能完成,而第二部分的画法则与第一部分完全相同。

0e7b110f00b8b316c393b48d72576d09.png

画完后,则一副高清晰度的配图就出现在我们软件里,随时导出则可以使用

78fb24d6b24d0897eabdc90c6aa89499.png

作者:Pjer
https://www.zhihu.com/question/29557377/answer/1112077913

这里讲讲数据驱动的科研画图,就是有数据出图。

软件主要是Python/matplotlib 和 MATLAB 偶尔偶尔万不得已了也得用一下IDL。

(评论区指出,常用的还应该有R/ggplot,origin)

存在这样一个现象,会有Python派的说MATLAB画图丑,也有MATLAB说IDL丑,总之没有任何一个科学数据绘图软件可以得到一致好评或者一致差评。其实有数据画图好不好看这事儿,还是看“定制化”的程度,定制化程度越高就会显得专业。所以不要批判哪个软件画图不好看,批判就是不会用~

比如,同样是MATLAB里, 稍微调一下axes位置,能组合组合一下,线的颜色粗细什么的。看起来就会好一些

468e2ba8f8630dfcc6b9779c4af95dd5.png

但是如果直接一行

plot(x,y)

那画出来绝对看起来廉价,

11e77c8a0f46d75cc3a249579a0c8053.png

也不好意思往文章里放。

其实axes调位置是每次画图都要占据大量时间的事情,不要用subplot默认排布,那个间距不大好看,能共用x或者y的时候就合并合并,看着舒服,比如:

00f8ede0fc62aff5c00395da4467246c.png

刚才说到,定制化越高,图看起来越专业,其实这个定制化是需要时间投入和一定能力基础以及灵感的。

就我2019年的一篇ApJ里面的一张图当时想了很久都到底如何在同一张2d图里面显示出所有对应点的2种属性。最终想出来的解决方案是colormap也用2d,效果是这样的(MATLAB作图):

eb163427e057dea38b0fdb3dd02f64ef.png

色温表示频率,亮度表示时标。所有点的两种属性就融合在同一张图里,趋势能体现的更明显,有利于我吧后面的物理机制讲清楚。

评论区有问2D颜色表如何实现,简单说一下:

核心是颜色映射,MATLAB里有个函数,

rgb_arr = hsv2rgb(hsv_arr)

可以用来建立从HSV色彩空间到RGB色彩空间的映射。在HSV色彩空间里H代表颜色相位也就是色温,S是饱和度,V是亮度。这里用H和V来表示两个物理量。先使用每个数据点的两个属性组织其HSV空间的颜色,然后hsv2rgb映射到rgb,散点图scatter的时候每个点指定上对应的rgb。最后colorbar就是在一个独立的axes里用imshow硬画出来的颜色表,

780b2861fc9250a19d5e5469d1f4182a.png

结:

各个画图工具都得会一点儿,因为门槛都不高,看一个例子就能上手,每个都会点儿就是图个效率,比如很多时候当整个工具链都在Python里的时候硬是用MATLAB画图就会很麻烦。

图画的好不好,专业不专业,取决于定制化程度

一张好的插图可以引导整篇文章的思路~

作者:知乎用户
https://www.zhihu.com/question/29557377/answer/163601763

仿佛没有看到气象同行……读研期间用的最多的就是NCL(NCAR Command Language)了。

f66f04372ce8c766f09a0dc48cb35ddd.png

阴影等高线图

49e2fc1399f983498e79b319b4ac31cb.png

极地投影等高线图(还可叠加高空环流场)

04499614c4c5a195ac43a9b6d60c2d91.png

雷达图

f1bd906ebca821b2e6e0b9478b3b6c26.png

3D图,感觉画地形应该也不是梦吧……【之前给的图是WRF-Vapor,已修改】

当然还有折线图散点图剖面图等等,区域自行设置,色标自行设置,图的大小颜色样式千姿百态,可以说不可能有两个人画出来的图是完全一样的,每个人总有自己的绘制思路。

好处就是可操作性强,坏处也是可造作性太强。每次写代码,花的最多的时间不是算数据而是调整图……总觉得有点本末倒置的感觉。但,气象就是这么个看图说话的行当,科研大牛们的图大多都是画的棒棒的,一眼就能看到他想表达的观点。不得不说,很多时候看大牛画的图真的是一种享受,区域怎么选,哪些变量叠加在一张图上,用什么色标,多个图怎样排列组合。这些真的都是学问……我等只是初窥门径,后面的路还太长。

作者:Sean Zhan
https://www.zhihu.com/question/29557377/answer/150195627

这几年写paper,数据类的图都是Matlab或者python搞前期,存eps格式矢量图出来再用illustrator后期美化。多亏illustrator大法,各种Matlab和python搞出来的糙图可以被美化的连亲娘都不认识,而且搞出来的都是矢量图,绝对的神器。

至于流程图framework之类的,感觉没有比Visio更好的了。

以下是应一些知友的要求做一些补充。手头存的图基本都是illustrator改后的,所以随便找了一张硕果仅存的Matlab直接导出的图和用illustrator改后的图做个简单的对比。肯定不是最好的例子,有些大改过的图因为年代久远没法找了。

第一张图是Matlab直接存出来的图,第二张是一系列图一这样的图在illustrator后修改整合的图:

896cf2c2fa827020423402c44e3df1cd.png

7d5ed44dd1d0f0b035327d297f0a7706.png

其实有些答主也提到了,Matlab(包括python matplotlib)直接导出的图多半都有种锯齿感(如果不存矢量图的话)。这种图初看没什么,放大看渣的一塌糊涂(尤其是用老版本的Matlab的话)。另外做些精细的微调全部在代码上实现也比较复杂。所以我一般的做法都是Matlab或者Python先做底图,存eps格式(矢量图),然后在illustrator中修改后重新导出新的eps或者png之类的图片。这样的好处有很多方面:

1. 用Illustrator重新导出的图片线条会平滑很多,而且可以自定义图片分辨率,图片质量会提高不少。

2. Eps格式下的图片元素都是可以编辑的,可以改变线条的颜色,粗细。图片中label的字体以及大小也都可以调整。另外也可以在原图的基础上加额外的线条,注释文字等等。至于具体怎么改,就是审美或者设计的问题了。Illustrator最大的好处就是给你极大的customization的空间。

3. 最重要的一点是,存完的eps或者ai文件永远都是可修改的!别小看这点,提交论文碰上讨厌的reviewer让你改图(比如改图中字体大小等等),重新跑一遍code做一遍图有时是不小的工作量。如果还存有原来的eps或者ai的图文件,做些小的修改可以分分钟解决。

至于illustrator的使用,原谅我表达能力有限,没法在这里具体讲了。Illustrator学起来还是很容易的上手的,我当年就是自己随便玩了一两个小时基本就上手了。需要的话网上也有一些illustrator的教程可以参考。科学绘图的话,很多illustrator的高级功能都是不需要的,学会一些基本的东西就够用了。

作者:雨花
https://www.zhihu.com/question/29557377/answer/149106412

PS+IL+OriginLab

这是5年前做的,一开始画了个彩色卡通风格的,后来老板说不够庄重......不够庄重......,就画了个极简风格......

7e2d941056bd54b91b9f77158dcba4f5.png

以前投稿时候看到投稿须知说"Figures in power point files will not be accepted"的时候还觉得好笑,怎么会有人用这么low的办法作图,但是现在发现我周围的人作图都是用powerpoint........当我用PS和IL做好了图给老板的时候,他说不懂PS,问我要了原始数据用ppt重做,这时候我的内心是崩溃的.........生物界的电脑水准可见一斑

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

d5d0912648e292869cd6a318c0444c03.png

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值