程序员应该知道的七个图形工具

简介:

流程图:Graphviz

说到流程图还是再次提及一下,我们之前说到的Graphviz 。

Graphviz (英文:Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。它也提供了供其它软件使用的库。

它的主要特点是代码生成图像,并且足够的简单。

在我的那个“Web Developer 成长路线图”里,就是用这个工具生成下面这个复杂的图形。

image

而其代码特别简单——和我们平时表达的手法是一样的,即:

"包管理" -> "包发布" -> "自动部署"
"CLI" -> "部署"
"脚本语言(Bash,Perl,Ruby,Python etc)" -> "部署"
"脚本语言(Bash,Perl,Ruby,Python etc)" -> "构建"
"*nix" -> "软件编译" -> "部署"
"构建" -> "软件编译"

Graphviz有一个大的优点和弱点是:自动生成,导致画线的时候很出现出问题。接着,我们就来看看手动画线的例子。

流程图: Visio vs Dia vs OmnIGraffle

在Windows世界里,在这一类的工具里面最常见的算是Visio:

image

遗憾的是,它并不支持在Mac OS上使用。而且,它并不在我购买的Office 365套装里。

在Mac世界里,最好的工具算是OmniGraffle,就是很贵——我们平时使用的是公司的Mac电脑,使用盗版软件是有法律风险的。
image

在GNU/Linux世界里,我们使用Dia。

Dia 是开放源代码的流程图软件,是GNU计划的一部分,程序创立者是Alexander Larsson。Dia使用单一文件界面模式,类似于GIMP与Inkscape。 Dia将多种需求以模块化来设计,如流程图、网络图、电路图等。各模块之间的符号仍是可以通用的,并没有限制。
image

顺便安利一下,我最喜欢的操作系统OpenSuSE——简洁、尾长、绿色。

image

OpenSuSE在KDE桌面下效果最赞了——因为KDE和OpenSuSE都是德国制造。总的来说,会比Debian系的Debian和Ubunt,及RetHat系的CentOS及Fedora稳定、漂亮。

令人遗憾的是这三个工具,我都用不了。Mac对X Windows的支持不是一般的差,于是我就需要别的替代工具。

在线流程图:Processon

这个工具还是相当好用,至少是在GxFxW内比较快——我之前使用过Creately、draw.io、Gliffy等等的一些工具,只是随着版图的扩展,很多地区都已经“xx”了。

image

不过遗憾的是:他们没有给我广告费。

ProcessOn是一个在线协作绘图平台,为用户提供最强大、易用的作图工具!支持在线创作流程图、BPMN、UML图、UI界面原型设计、iOS界面原型设计等。

同样的,在我的那个“Developer进阶书单”中,就是用这个工具画出规规矩矩的线。

image

并且,它还是跨平台的。

各种图: Word和Excel

由于翻译和写书的需要,我成了一个Office 365订阅用户。于是发现在Word等一系列的Office工具中,自带了一个SmartArt的工具:

image

可以画出很多很有意思的图形,比如:

image

又或者是:

image

分分钟就能画一个的节奏。

脑图: XMind

我想这个一般人都是知道的。

XMind思维导图软件被著名互联网媒体Lifehacker评选为“最佳头脑风暴和思维导图工具”及”最受欢迎的思维导图软件”。

它有一个很大的优点是使用了全球最先进的Eclipse RCP 软件架构,支持跨平台使用。它有一个很大的缺点是使用了全球最先进的Eclipse RCP 软件架构,导致了有点卡。

相比于流程图什么的,它只适合做脑图。

image

如果你还在使用Eclipse,那么你应该试试Intellij IDEA了。

各种图:D3.js

D3.js(D3或Data-Driven Documents)是一个用动态图形显示数据的JavaScript库,一个数据可视化的工具。

与上面的工具相比,这个工具可能没有那么方便。但是,作为一个数据可视化工具,它不仅仅可以做出各种炫酷的图形。

还可以做出一个技能树:

image

这个项目的GitHub见:https://github.com/phodal/sherlock

地图:Leaflet

Leaflet 是一个为建设移动设备友好的互动地图,而开发的现代的、开源的JavaScript 库。

虽然它与上面的图形没有啥关系,但是它带了一个图字啊。与Google Map原生的API,或者OpenStreet相比,它最大的优点是对移动设备支持好。

并且,它也是一个可以根据数据(GEOJSON,地理数据)生成图形的工具。

image

文章转载自 开源中国社区[http://www.oschina.net]

相关文章
An工具介绍之宽度工具、变形工具与套索工具
An工具介绍之宽度工具、变形工具与套索工具
1434 0
An工具介绍之宽度工具、变形工具与套索工具
|
24天前
|
JSON JavaScript UED
画出你的想法,体验Excalidraw的魅力,完全免费的绘图工具!
画出你的想法,体验Excalidraw的魅力,完全免费的绘图工具!
61 1
|
30天前
|
数据可视化 测试技术 uml
【掌握绘图艺术】用PlantUML绘制完美UML图表,开发者的福音
【掌握绘图艺术】用PlantUML绘制完美UML图表,开发者的福音
161 1
|
4月前
|
缓存 数据库 数据安全/隐私保护
我绘制文章插图的三个神级工具
我绘制文章插图的三个神级工具
|
5月前
|
SQL 前端开发 程序员
推荐一款在线工具-程序员的工具箱
推荐一款在线工具-程序员的工具箱
71 0
|
9月前
|
数据安全/隐私保护
平面设计实验四 绘制工具和修饰工具
平面设计实验四 绘制工具和修饰工具
38 0
|
存储 自然语言处理 安全
2022初学者10个必备程序 “工具箱“
开发者每天都在使用、寻找、贡献、创作各类开发者工具,包括开源服务、付费软件、API等;好的工具可以极大帮助我们提升效率,服务业务;此博客应时代需求、应运而生,为初学者讲解简洁、轻便、实用工具箱
128 0
|
XML 缓存 前端开发
和大家谈谈我为什么选择图形这条路(一)
前端图形 从图形的角度带你领略前端的美 59篇原创内容 公众号 图形学这个领域目前来看是很好玩也很有前景的一个方向,当我们了解它的基础知识,get到它好玩地方的时候,我们可以很轻松延伸到可视化这一领域进行拓展。本文会尽量以很通俗很详细的方式来向大家介绍,希望读者有所收获。
和大家谈谈我为什么选择图形这条路(一)
|
前端开发 数据可视化 JavaScript
和大家谈谈我为什么选择图形这条路(二)
数学基础 img 1.1 坐标系与向量之以canvas为例实现坐标系的转换 这里首先我要先从对坐标系进行转换进行讲起,那为什么我要先讲坐标系的转换问题:因为转换坐标系对于图形学绘制而言,实在太重要了,后续所有图形的绘制都要用到这个思想,具体为什么我们先从一个之前前面看到的图形讲起: 首先经过一顿坐标点换算,我们得出每个点具体的坐标(这里我用了一个Rough.js的库,绘制一个手绘风格的图像),最终算出山顶的坐标就是 (-80, 100) 和 (80, 100),山脚的坐标就是 (-180, 0)、(20, 0)、(-20, 0)、(180, 0),太阳的中心点的坐标就是 (0, 150)。 i
和大家谈谈我为什么选择图形这条路(二)
|
编解码 数据可视化 API
Qt开发技术:图形视图框架(一)基本介绍
Qt开发技术:图形视图框架(一)基本介绍
Qt开发技术:图形视图框架(一)基本介绍