寫作中常用的繪圖工具
由于在寫作中經常需要配圖,本文分享下我常用的繪圖工具以及如何存儲并展示配圖。
白板繪圖
Excalidraw
白板繪圖的好處在于靈活度非常高。好的白板工具可以很方便的繪制自由的圖片和預定義的結構化圖形,這方面我在用的工具是 Excalidraw,由于本工具是開源的,我也部署了自己的 Excalidraw 白板工具。在基于純文本的人生管理這篇文章里所有的配圖都是用 Excalidraw 繪制,比如下圖:
一個好的白板工具應該需要有什么特性呢?Excalidraw 的創(chuàng)始人寫了一篇很好的文章Rethinking Virtual Whiteboard來回答這個問題。
Excalidraw 的優(yōu)點有以下:
- 無需注冊,直接使用,用完即走;
- 代碼開源,免費使用,不用擔心商業(yè)問題;
- 多人實時協(xié)作,共同繪制;
- 數(shù)據可導出,可通過鏈接直接分享給任何人;
- 數(shù)據存儲在瀏覽器本地,文件可離線編輯;
- 擴展性強,可以導入其他人繪制的資源庫;
- 數(shù)據采用端到端加密,服務器端數(shù)據加密存儲,隱私保護很可靠;
- 保存的文件可直接在 VSCode 編輯(通過插件),同時可被其他網站嵌入使用,比如不只是筆記工具的 Logseq里的繪圖功能就是嵌入 Excalidraw 完成的;
擁有這么多特性,用 Excalidraw 能畫啥圖得取決于你的想象力了:在 One Year of Excalidraw與 Create Diagrams That Look Like Hand-drawn這兩篇文章里可以看到使用 Excalidraw 畫常見的結構圖如架構圖、結構圖、流程圖與交互圖等,也可以自由繪制如品牌Logo、事件風暴圖、原型圖、對比圖、手繪圖、四格漫畫與平面圖等。
除了 Excalidraw 外,其創(chuàng)始人早期用了另一個白板工具近 10 年,這個工具是 zwibbler,我看了下感覺用 Excalidraw 完全可以替代它。
Miro&& Mural&& Figma
這幾個在線白板很適合團隊協(xié)作(比如敏捷工作流如 Retro、站會、頭腦風暴、工作坊等),和 Excalidraw 不同之處在于,它們支持的模版更為豐富,還能集成不同的 App,比如在白板里插入表格和圖片之類。其中 Figma 雖然是個類似 Sketch 的設計工具,但是也支持白板的用法。
不好的地方在于它們都不是開源的,但是也提供了免費版。當然也可以用 Google 出品的jamboard替代,雖然沒有提供模版,但是基本功能都類似。
Perfect FreeHand
帶有壓感的在線手寫板工具,以下是用手寫板手寫的效果:
文本繪圖
文本繪圖的好處在于修改、存儲方便,很簡單即可繪制出固定模式的圖,如時序圖、架構圖、部署圖、線框圖、甘特圖、WBS與思維導圖。 PlantUML是一個支持文本繪制類UML圖的工具,可以在 Real World Plantuml 找到很多用它實現(xiàn)的圖。我一般用它來繪制以下一些圖。
思維導圖
文本如下:
@startmindmap
skinparam monochrome true
Markdown排版
(1) 寫作
- 博客
- 知乎專欄
- 微信公眾號
(2) 幻燈片
(3) 專業(yè)報告
(4) 筆記
@endmindmap
可以使用在線編輯器 PlantUML Editor在線編輯預覽。
架構圖
源文本見 arch_aws.plantuml。
關于文本繪圖的進一步思考,推薦看 C4 Model 的作者這篇 Software architecture diagrams as text。
專業(yè)繪圖
Sketch/OmniGraffle
源文件見 Serverless.sketch。
要想用 Sketch 畫好配圖,配色很重要,這方面可以看 draveness 寫的這篇《技術文章配圖指南》。當然 Sketch 可以做的遠不止這些,不過這不在本文討論范圍。
draw.io/GoogleDrawings
這類工具都可以繪制各類你想要的配圖,唯一限制的就是你的想象力了。
在線繪圖工具如 Google Drawings的多人實時協(xié)作功能更是團隊協(xié)作繪圖利器。這篇《分布式事務中的時間戳》中的配圖就是用 Google Drawings 繪制的。
代碼繪圖
Python Jupyter Notebook
我用這個繪制一些數(shù)據分析的圖,比如這種:
源代碼見:index_month_quote_change.ipynb。
其他工具
Excel
用 Excel 畫圖不是不可以,你可以用數(shù)據繪制圖,也可以用單元格來繪制馬賽克的圖,不過我一般用它來繪制投資組合的一些走勢圖和狀態(tài)圖。
配圖存儲與展示
圖片我一般用 VSCode 插件 markdown image paste配置 AWS S3 后,可將復制到剪貼板的圖片一鍵上傳至 S3 桶,之后可通過桶綁定的域名訪問圖片,具體詳見《我的筆記系統(tǒng)》VSCode插件一鍵存儲圖片至S3節(jié)。
關于繪圖工具的思考
沒有一種工具是萬能的,萬能如 Excalidraw 也無法替代 Lucidchart/Draw.io/Google Drawings/Visio 這些復雜的工具(他們更適合復雜的對精確性有高度要求的圖)。更沒有一種軟件工具能替代紙和筆。工具更重要的是背后使用它的人,能用圖片講好一個故事才是我們需要不斷提升的能力,一個工具能做到不限制你的發(fā)揮就算適合的好的工具。
【本文是51CTO專欄作者“ThoughtWorks”的原創(chuàng)稿件,微信公眾號:思特沃克,轉載請聯(lián)系原作者】