写作中常用的绘图工具

开发 开发工具
由于在写作中经常需要配图,本文分享下我常用的绘图工具以及如何存储并展示配图。

由于在写作中经常需要配图,本文分享下我常用的绘图工具以及如何存储并展示配图。

[[436869]]

白板绘图

Excalidraw

白板绘图的好处在于灵活度非常高。好的白板工具可以很方便的绘制自由的图片和预定义的结构化图形,这方面我在用的工具是 Excalidraw,由于本工具是开源的,我也部署了自己的 Excalidraw 白板工具。在基于纯文本的人生管理这篇文章里所有的配图都是用 Excalidraw 绘制,比如下图:

一个好的白板工具应该需要有什么特性呢?Excalidraw 的创始人写了一篇很好的文章Rethinking Virtual Whiteboard来回答这个问题。

Excalidraw 的优点有以下:

  • 无需注册,直接使用,用完即走;
  • 代码开源,免费使用,不用担心商业问题;
  • 多人实时协作,共同绘制;
  • 数据可导出,可通过链接直接分享给任何人;
  • 数据存储在浏览器本地,文件可离线编辑;
  • 扩展性强,可以导入其他人绘制的资源库;
  • 数据采用端到端加密,服务器端数据加密存储,隐私保护很可靠;
  • 保存的文件可直接在 VSCode 编辑(通过插件),同时可被其他网站嵌入使用,比如不只是笔记工具的 Logseq里的绘图功能就是嵌入 Excalidraw 完成的;

拥有这么多特性,用 Excalidraw 能画啥图得取决于你的想象力了:在 One Year of Excalidraw与 Create Diagrams That Look Like Hand-drawn这两篇文章里可以看到使用 Excalidraw 画常见的结构图如架构图、结构图、流程图与交互图等,也可以自由绘制如品牌Logo、事件风暴图、原型图、对比图、手绘图、四格漫画与平面图等。

除了 Excalidraw 外,其创始人早期用了另一个白板工具近 10 年,这个工具是 zwibbler,我看了下感觉用 Excalidraw 完全可以替代它。

Miro&& Mural&& Figma

这几个在线白板很适合团队协作(比如敏捷工作流如 Retro、站会、头脑风暴、工作坊等),和 Excalidraw 不同之处在于,它们支持的模版更为丰富,还能集成不同的 App,比如在白板里插入表格和图片之类。其中 Figma 虽然是个类似 Sketch 的设计工具,但是也支持白板的用法。

不好的地方在于它们都不是开源的,但是也提供了免费版。当然也可以用 Google 出品的jamboard替代,虽然没有提供模版,但是基本功能都类似。

Perfect FreeHand

带有压感的在线手写板工具,以下是用手写板手写的效果:

文本绘图

文本绘图的好处在于修改、存储方便,很简单即可绘制出固定模式的图,如时序图、架构图、部署图、线框图、甘特图、WBS与思维导图。 PlantUML是一个支持文本绘制类UML图的工具,可以在 Real World Plantuml 找到很多用它实现的图。我一般用它来绘制以下一些图。

思维导图

 

文本如下:

@startmindmap

skinparam monochrome true

Markdown排版

(1) 写作

  • 博客
  • 知乎专栏
  • 微信公众号

(2) 幻灯片

(3) 专业报告

(4) 笔记

@endmindmap

可以使用在线编辑器 PlantUML Editor在线编辑预览。

架构图

源文本见 arch_aws.plantuml。

关于文本绘图的进一步思考,推荐看 C4 Model 的作者这篇 Software architecture diagrams as text。

专业绘图

Sketch/OmniGraffle

 

源文件见 Serverless.sketch。

要想用 Sketch 画好配图,配色很重要,这方面可以看 draveness 写的这篇《技术文章配图指南》。当然 Sketch 可以做的远不止这些,不过这不在本文讨论范围。

draw.io/GoogleDrawings

这类工具都可以绘制各类你想要的配图,唯一限制的就是你的想象力了。

在线绘图工具如 Google Drawings的多人实时协作功能更是团队协作绘图利器。这篇《分布式事务中的时间戳》中的配图就是用 Google Drawings 绘制的。

代码绘图

Python Jupyter Notebook

我用这个绘制一些数据分析的图,比如这种:

 

源代码见:index_month_quote_change.ipynb。

其他工具

Excel

用 Excel 画图不是不可以,你可以用数据绘制图,也可以用单元格来绘制马赛克的图,不过我一般用它来绘制投资组合的一些走势图和状态图。

配图存储与展示

图片我一般用 VSCode 插件 markdown image paste配置 AWS S3 后,可将复制到剪贴板的图片一键上传至 S3 桶,之后可通过桶绑定的域名访问图片,具体详见《我的笔记系统》VSCode插件一键存储图片至S3节。

关于绘图工具的思考

没有一种工具是万能的,万能如 Excalidraw 也无法替代 Lucidchart/Draw.io/Google Drawings/Visio 这些复杂的工具(他们更适合复杂的对精确性有高度要求的图)。更没有一种软件工具能替代纸和笔。工具更重要的是背后使用它的人,能用图片讲好一个故事才是我们需要不断提升的能力,一个工具能做到不限制你的发挥就算适合的好的工具。

【本文是51CTO专栏作者“ThoughtWorks”的原创稿件,微信公众号:思特沃克,转载请联系原作者】

戳这里,看该作者更多好文

 

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2018-05-10 16:02:48

Android程序赠工具

2011-08-22 10:40:07

SSH命令SSH命令

2014-05-13 09:55:13

iOS开发工具

2010-06-04 14:00:32

Hadoop开发

2019-06-23 15:44:24

Matplotlib可视化图表

2010-03-24 19:09:43

Python语言

2010-03-15 18:39:00

Python程序员

2019-10-11 08:41:18

JavaMemcached数据库

2023-03-30 08:00:56

MySQL日期函数

2020-07-28 08:48:49

Python绘图工具

2019-11-26 14:52:40

Linux工具写作者

2011-12-11 18:37:18

iPad

2010-04-06 16:50:07

Oracle数据库

2021-04-18 18:13:42

SQLHive表格

2023-01-03 15:47:09

Linux内核C语言

2010-03-22 10:27:28

Python常用模块I

2010-04-01 09:46:04

Oracle日期函数

2023-03-17 16:49:42

开发Java框架

2022-08-30 21:01:17

开发Java框架

2014-11-04 10:34:27

JavaCache
点赞
收藏

51CTO技术栈公众号