程序员应该知道的七个图形工具
今天让我来分享一下,我常用的一些图形工具,主要有两类:
- 流程图
- 数据可视化
流程图:Graphviz
说到流程图还是再次提及一下,我们之前说到的Graphviz 。
Graphviz (英文:Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。它也提供了供其它软件使用的库。
它的主要特点是代码生成图像,并且足够的简单。
在我的那个“Web Developer 成长路线图”里,就是用这个工具生成下面这个复杂的图形。
而其代码特别简单——和我们平时表达的手法是一样的,即:
"包管理" -> "包发布" -> "自动部署" "CLI" -> "部署" "脚本语言(Bash,Perl,Ruby,Python etc)" -> "部署" "脚本语言(Bash,Perl,Ruby,Python etc)" -> "构建" "*nix" -> "软件编译" -> "部署" "构建" -> "软件编译"
Graphviz有一个大的优点和弱点是:自动生成,导致画线的时候很出现出问题。接着,我们就来看看手动画线的例子。
流程图: Visio vs Dia vs OmnIGraffle
在Windows世界里,在这一类的工具里面最常见的算是Visio:
遗憾的是,它并不支持在Mac OS上使用。而且,它并不在我购买的Office 365套装里。
在Mac世界里,最好的工具算是OmniGraffle,就是很贵——我们平时使用的是公司的Mac电脑,使用盗版软件是有法律风险的。
在GNU/Linux世界里,我们使用Dia。
Dia 是开放源代码的流程图软件,是GNU计划的一部分,程序创立者是Alexander Larsson。Dia使用单一文件界面模式,类似于GIMP与Inkscape。 Dia将多种需求以模块化来设计,如流程图、网络图、电路图等。各模块之间的符号仍是可以通用的,并没有限制。
顺便安利一下,我最喜欢的操作系统OpenSuSE——简洁、尾长、绿色。
OpenSuSE在KDE桌面下效果最赞了——因为KDE和OpenSuSE都是德国制造。总的来说,会比Debian系的Debian和Ubunt,及RetHat系的CentOS及Fedora稳定、漂亮。
令人遗憾的是这三个工具,我都用不了。Mac对X Windows的支持不是一般的差,于是我就需要别的替代工具。
在线流程图:Processon
这个工具还是相当好用,至少是在GxFxW内比较快——我之前使用过Creately、draw.io、Gliffy等等的一些工具,只是随着版图的扩展,很多地区都已经“xx”了。
不过遗憾的是:他们没有给我广告费。
ProcessOn是一个在线协作绘图平台,为用户提供最强大、易用的作图工具!支持在线创作流程图、BPMN、UML图、UI界面原型设计、iOS界面原型设计等。
同样的,在我的那个“Developer进阶书单”中,就是用这个工具画出规规矩矩的线。
并且,它还是跨平台的。
各种图: Word和Excel
由于翻译和写书的需要,我成了一个Office 365订阅用户。于是发现在Word等一系列的Office工具中,自带了一个SmartArt的工具:
可以画出很多很有意思的图形,比如:
又或者是:
分分钟就能画一个的节奏。
脑图: XMind
我想这个一般人都是知道的。
XMind思维导图软件被著名互联网媒体Lifehacker评选为“最佳头脑风暴和思维导图工具”及”最受欢迎的思维导图软件”。
它有一个很大的优点是使用了全球最先进的Eclipse RCP 软件架构,支持跨平台使用。它有一个很大的缺点是使用了全球最先进的Eclipse RCP 软件架构,导致了有点卡。
相比于流程图什么的,它只适合做脑图。
如果你还在使用Eclipse,那么你应该试试Intellij IDEA了。
各种图:D3.js
D3.js(D3或Data-Driven Documents)是一个用动态图形显示数据的JavaScript库,一个数据可视化的工具。
与上面的工具相比,这个工具可能没有那么方便。但是,作为一个数据可视化工具,它不仅仅可以做出各种炫酷的图形。
还可以做出一个技能树:
这个项目的GitHub见:https://github.com/phodal/sherlock
地图:Leaflet
Leaflet 是一个为建设移动设备友好的互动地图,而开发的现代的、开源的JavaScript 库。
虽然它与上面的图形没有啥关系,但是它带了一个图字啊。与Google Map原生的API,或者OpenStreet相比,它最大的优点是对移动设备支持好。
并且,它也是一个可以根据数据(GEOJSON,地理数据)生成图形的工具。
更多精彩内容欢迎关注我的微信公众号:Phodal
程序员应该知道的七个图形工具相关推荐
- 高效程序员应该养成的七个习惯
对于软件工程师来说,工作也许意味着许多东西 -- 稳定的收入.做自己感兴趣的项目.找一份更好工作的跳板,或者你只是喜欢与其他程序员共事.但说到"效率",强调的是在一定时间内按质完成 ...
- 软件之路:程序员修行路上的七个必经阶段
软件之路:程序员修行路上的七个必经阶段 目录 软件之路:程序员修行路上的七个必经阶段
- 程序员都在用什么高效率的工具?
程序员都在用什么高效率的工具? Apifox 最好用的接口管理神器,没有之一,秒杀市面上所有同类产品. Apifox 是 API 文档.API 调试.API Mock.API 测试一体化协作平台,定位 ...
- 这些是不是程序员爱不释手的10款神级工具【萝卜青菜各有所爱】
程序员爱不释手的10款神级工具,有你所用的一款吗? 一.Wireshark Wireshark是广大黑客.网络攻城狮的最爱,极大的方便了我们抓取.分析网络数据包. 二.VMware VMware虚拟机 ...
- Python 程序员必知必会的开发者工具
Python 程序员必知必会的开发者工具 Python已经演化出了一个广泛的生态系统,该生态系统能够让Python程序员的生活变得更加简单,减少他们重复造轮的工作.同样的理念也适用于工具开发者的工作, ...
- Java程序员高效开发必备的5大工具,IDEA黑色主题让程序员爽翻!
2018年最有钱途的编程语言排行榜出炉,Java排名高居第一. 在整个的编程界,从事java开发的程序相对来说较多. Java程序员为了提高开发效率,必备的工具有哪些呢?下面w3cschool就给各位 ...
- JAVA程序员技术栈、业务栈、工具栈
JAVA程序员技术栈.业务栈.工具栈 目录: 1.技术栈 2.业务栈 3.工具栈 今天是实习期以来将近100天了,感谢公司给予的期望与同事们提供的帮助.好久没更新博客了,一是懒于写,二是文章写得不够深 ...
- 好程序员web培训简述web前端开发工具有哪些
好程序员web培训简述web前端开发工具有哪些,随着互联网技术的发展,用户对于web网页的依赖性越来越重,这对于web前端开发工程师的要求也在不断提高.作为开发者来说,开发工作需要依赖很多开发工具的协 ...
- 程序员最头疼的七件事
懂点技术,瞎指挥 有人说不懂技术的瞎指挥很可怕,我倒是觉得懂点技术,然后指手画脚更可怕! 有个国企的项目,甲方负责人李总是个局里的二把手,不知道什么时候了解了一点编程的技术, 每次开需求会都是和我们大 ...
最新文章
- 服务器不能显示皮肤,服务器控件gridview扩展,为什么不能应用皮肤?
- Linux服务器网卡驱动安装及故障排除(转)
- 图解首次使用流光5.0
- linux——关于ip、静态网络、动态网络、网关、DNS的设置
- Spring中Bean创建完成后执行指定代码的几种实现方式
- 死磕 java集合之TreeMap源码分析(三)- 内含红黑树分析全过程
- [CB]TForm应用技巧
- python中统计数据的总和_Python 数据的累加与统计的示例代码
- Linux之pwd命令
- Oracle数据库中查看所有表和字段以及表注释.字段注释
- [Matlab] norm函数用法(用于RMSE和R2)
- 生产质量分析,助力企业掌握影响质量的全量数据
- 手机上什么App能连接mysql_这款APP让你的手机瞬间变身服务器,php+mysql,太硬核了!...
- EMC VMAX存储的内存布局
- 2014江西理工大学C语言程序竞赛高级组
- g2o学习记录(4)cmake-gui再次编译g2o及不太完美的处理cs.h错误[20190323已找到完美解决方案](非干货纯记录,可不看)
- svg上传服务器无法显示,让WordPress支持上传SVG格式图片并显示在媒体库中的方法...
- 你是外包,麻烦不要随便偷吃公司的零食
- 手把手教你如何写一个三子棋/N子棋的小游戏
- 4.四大组件的工作过程