大学生 / 程序员 必备技能:

  • 画论文示意图 / 流程图
  • 画 UML

分享几个最常用的画图的工具

  • Window 版的 Visio
  • Mac 版的 OmniGraffle

为什么画图是很有必要的呢?

在写论文或者在做笔记的过程中,经常需要示意图帮助我们更好地理解知识点,一个简单明了的示意图可以降低我们的学习及理解成本,有时候语言无法明确表达的知识点,用一张图就可以瞬间领悟,这就是图的魅力。

如何画图比较高级?

根据我个人绘图习惯,说以下几点(仅供参考)

  1. 描边

一般的填充图是不需要描边的,有了描边会给人一种廉价感


深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_深度学习的论文示意图怎么画出来的

  1. 圆弧边

有时候加个圆弧会让图形变得不那么突兀。


深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_流程图_02

  1. 颜色简洁

示意图的目的是让人能够第一眼理解图中想表达的含义,因此要突出重点偶尔使用一些加深的颜色,但是如果花花绿绿的话就显得有点直男审美了,且让人不容易抓住重点。

一般用浅灰色打底,深灰色填充,字体颜色选择白色,重点标注的地方可选择红色或黄色,对比如下:


深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_深度学习的论文示意图怎么画出来的_03

  1. 选色

如果你比较专业可直接使用七彩盘选色,七彩盘选色的好处是可以提供更广泛的色域。


深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_深度学习的论文示意图怎么画出来的_04

如果你是新手,可以通过其他方式,比如画笔选色,画笔选色的好处是颜色定位容易,因为在一般的绘图中使用的颜色是比较单一的。


深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_Markdown_05

  1. 透明度

透明读是有必要的,比如画 CAP 定理时,选择 50% 透明度来表示交集的效果。


深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_UML_06

你可以用它画什么?

  1. UML 图
  • 下面是我制作的UML,首次制作的时候可能比较麻烦,但是制作好之后,把基本的组件单独抽离出来,等以后用的话就把组件拼接起来即可,不用重新制作,只需要改一下里面的内容即可。
  • 其实画图跟编程很类似,这里就是用到了解耦的思想,把基础的组件抽离出来。

深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_UML_07

  1. logo

制作各种logo(以下是我制作的一些 logo )

  • 猛地一看你可能会觉得花里胡哨,但是仔细一瞧,其实就是一些最简单的图形拼凑而成,并不需要过多的专业技巧。
  • 当然,logo 的制作最基本的思想就是能简单表达其含义,并不是随意而为之。
  • 你也可以参考一些比较高端的大公司logo,从中寻找灵感。
  • 提供一个logo网站 https://simpleicons.org/

深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_Markdown_08

  1. 流程图
  • 流程图在很多领域都很有必要,当然 Markdown 支持各种图标的绘制,我个人习惯是如果是一些比较简单的流程图,直接用语法搞定,如果是向下面这种比较复杂的流程图,用画图工具比较实在,因为 Markdown 画这种流程图语法还是有点复杂的,而且还不好看,出来的效果可能并不是你想要的效果。

LRU 流程图

深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_UML_09

  1. 示意图
  • 像下面这种类似文件夹的图,软件自带的图库中没有这类图形,所以需要自己制作
  • 其实也很简单,上面一个梯形加下面的矩形,然后设置一下圆弧边,填充一个浅黄色,就完成了,是不是很简单。其余的复制就行了,也费不了多长时间。

RPC框架示意图

深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_深度学习的论文示意图怎么画出来的_10

Netty示意图


深度学习的论文示意图怎么画出来的 论文里的示意图怎么画_Markdown_11

写在最后

以上就是一些绘图技巧,如果你有兴趣并且稍加练习,甚至会制作出一些出版级别的图。

当然,绘图只是辅助技能,最终还是要回归到代码,不能将过多精力放在如何提升画图的技能上,这样不就本末倒置了嘛。