关系是社会中一个非常重要的元素,我们常常需要理清关系才能明白事情的前因后果,以及对事情将来发展的方向进行预测。然而,理清关系却并不是一件简单的事情,就像很多人在第一次阅读《红楼梦》时,就因为人物关系复杂以致无法理解小说的故事情节,最终不得不中途放弃。在现实生活中,也有这样的例子,比如一些上市公司董事之间的关系,竞争中的朋友和对手关系,众多家族谱系以及家族成员之间的联系等等,如果无法理清这些关系就没有办法制定相应的策略来解决危机或者升级业务。
最基本的办法是自己手动绘制一些关系图来辅助我们的分析,例如很多人采用visio软件完成这种任务。但是,当关系中的节点和边越来越复杂时,手动绘制将面临巨大的麻烦,比如需要考虑节点的布局以使边的连接尽量短,需要考虑边与边之间的交点尽量少。事实上,人并不擅长处理这种复杂的图,这也是人无法维持很大的交际圈的原因,每个人常联系的朋友和亲人数量其实非常有限。“君子性非异也,善假于物也”,这时我们应当借助计算机的力量来完成这种复杂关系图的建立和分析。
一款简单易用的软件叫graphviz,可以根据简单的描述生成复杂的关系图。该软件使用dot语言描述关系,可能大家一听到一种新的语言就头大,其实大可不必,因为本文的例子将表明这种语言描述起来是多么简单易学。如果你实在不想使用dot语言描述图,还可以使用pygraphviz这个python模块完成同样的功能,只是提前说明一下,你如果看过dot语言和python语言两种方式对图的描述,很可能会毫不犹豫地选择dot语言。接下来,本文就对graphviz款工具的使用进行简单的介绍,大家见识工具的威力之后,可以自行通过搜索引擎和官网(http://graphviz.org)解锁更多高级的玩法。
>>>
graphviz帮你理清复杂的关系 | 第25期mp.weixin.qq.com![v2-1fa097ffd3b3061403f9c6d2ec40b2a2_180x120.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=3df214da-1130-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-1fa097ffd3b3061403f9c6d2ec40b2a2_180x120.jpg)