架构图(拓扑图)画图工具分析整理(静态,动态,可交互图.层级tu)
最近要画架构图.
一方面有图片洁癖,另外一方面又不想不停的挪动图片.
一开始想用脑图软件. 发现脑图是树状的,架构模块依赖图是网状的.(也可以简化为层级图,不画交互关系.类似 dubbo 的架构图. 外部系统,基础系统,应用层.)
到处搜索有什么可编程的方案. 后面搜索到拓扑图.
简单的布局,画图语言javascript,python很多(变量化),但是有自动布局的组件很少.(graphivz 有自动布局能力,但没有编程功能,变量,for 等缺失.)
1.静态库:
一开始得到的是一些库或者工具:
graphviz,gephi,yFiles - Java Graph Layout and Visualization Library, jgraph JavaScript HTML5 Diagramming Library Component, Qunee for HTML5
graphviz 的难点在于 : 变量, for 循环,逻辑控制.(通过 python 库) 子图之间无法排版. 2007-3-22 . 改进见 http://www.cnblogs.com/fei33423/p/6960368.html
更牛逼的 http://www.fuzihao.org/blog/2015/08/11/TikZ%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/ TikZ入门教程/ 内含重要的文献
2. 可分层库:
后面又想到需要分层(利用 泳道和流程来画架构图稍微简单点,自动发出线条):
搜索 "分层 分级 拓扑 " 搜索到TWaver: TWaver做拓扑图、3D图,ECharts负责图表。用拓扑图呈现多层级关系图
google 搜索英文"topology layer level canvas library" ,http://modeling-languages.com/javascript-drawing-libraries-diagrams/ bing 搜索啥都没有搜索到.垃圾,差谷歌 N 个级别
驱动方式
- ECharts: 数据驱动,chart.setOption({series, legend …})
- Qunee for HTML5: API驱动,graph.createNode(..), graph.createEdge(…
ECharts专注于大众的图表,Qunee专注于专业的拓扑图,图表用户群体比较广,通常配置一下数据就可以显示,而Qunee面向专业开发人员,通常需要编写代码才能实现业务需求.
(来自: Qunee for HTML5与ECharts对比)
android 绘制如下拓扑图: 有问题了对应端口会红.流量暴增线会粗. 用图片替代 canvas 绘制

3. 可交互库. 分层打开,关闭. 收缩,展开.
和 gui 结合. 节点化. yFiles java 的. h5的相对比较多. android 和 ios 比较少
后来一想 h5的库的特点是可以交互
再搜索: twaver qunee
得到
市面上也有很多制作Web版网络拓扑的框架。如: jsplumb 、 Qunee (收费的)、 grapheditor 、 Dagre-D3 、 HT for Web 、 Jtopo 、 twaver 等。
1.http://www.jtopo.com 开源 比较懒
2.TWaver 收费
3.Qunee for HTML5 收费
ps: 题外话: 不小心搜索到 图形数据库. 是相对关系型数据库来说的.有
挑战传统关系型数据库:Facebook图形数据库TAO揭秘
架构图(拓扑图)画图工具分析整理(静态,动态,可交互图.层级tu)的更多相关文章
- 转+更新 Graphviz 教程,例子+ 高级应用 写代码,编程绘制架构图(分层拓扑图) 转自官网
1. Graphviz介绍 Graphviz是大名鼎鼎的贝尔实验室的几位牛人开发的一个画图工具. 它的理念和一般的“所见即所得”的画图工具不一样,是“所想即所得”. Graphviz提供了dot语言来 ...
- atitit.系统架构图 的设计 与工具 attilax总结
atitit.系统架构图 的设计 与工具 attilax总结 1. 架构图的4个版式(标准,(左右)悬挂1 2. 架构图的层次结构(下属,同事,助手)1 3. wps ppt1 4. 使用EDraw画 ...
- python生成组织架构图(网络拓扑图、graph.editor拓扑图编辑器)
Graph.Editor是一款基于HTML5技术的拓补图编辑器,采用jquery插件的形式,是Qunee图形组件的扩展项目,旨在提供可供扩展的拓扑图编辑工具, 拓扑图展示.编辑.导出.保存等功能,此外 ...
- 使用KRPano资源分析工具分析动态网站资源
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- android ARM 汇编学习—— 在 android 设备上编译c/cpp代码并用objdump/readelf等工具分析
学习 android 逆向分析过程中,需要学习 Arm 指令,不可避免要编写一些 test code 并分析其指令,这是这篇文档的背景. 在目前 android 提供的开发环境里,如果要编写 c / ...
- 还在用visio?这款画图工具才是真的绝!
最近有读者私信我,问我推文的配图是用什么工具画的,很好看,也想学习一下.今天就给大家介绍一下这款画图工具--Draw.io 概述 draw.io是一款免费的网页版画图工具(也有桌面版),支持流程图.U ...
- TYPESDK手游聚合SDK服务端设计思路与架构之一:应用场景分析
TYPESDK 服务端设计思路与架构之一:应用场景分析 作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个各 ...
- 常用MySQL图形化管理工具
MySQL的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,这里我介绍几个经常使用的MySQL图形化管理工具,供大家参考. MySQL是一个非常流行的小型关系型数据 ...
- 使用MAT(Memory Analyzer Tool)工具分析dump文件--转
原文地址:http://gao-xianglong.iteye.com/blog/2173140?utm_source=tuicool&utm_medium=referral 前言 生产环境中 ...
随机推荐
- day20模块作业
1.模块化作业 1.回顾文件递归遍历. 默写一遍. 入口在: 当文件是个文件夹的时候 出口在: 文件是一个文件 2.计算时间差(用户输入起始时间和结束时间. 计算时间差(小时), 例如, 用户输入20 ...
- POJ1031 Fence
题目来源:http://poj.org/problem?id=1031 题目大意: 有一个光源位于(0,0)处,一个多边形的围墙.围墙是“全黑”的,不透光也不反射光.距光源r处的光强度为I0=k/r, ...
- TFS 签入时,提示“变更集注释策略 中的内部错误……”
提示: 变更集注释策略 中的内部错误.加载 变更集注释策略 策略时出错(策略程序集“Microsoft.TeamFoundation.PowerTools.CheckinPolicies.Change ...
- weblogic.xml
<?xml version="1.0" encoding="UTF-8"?> <weblogic-web-app xmlns="ht ...
- 解决 This application requires Java Runtime Environment XX
已经安装了 jdk ,并且设置好了 java 环境变量,CMD 运行 java 或 javac 都正常,其他依赖 jdk 的应用程序都能正常运行.但是在运行 jd-gui 1.1.0 的时候,出现错误 ...
- Java文件与io——装饰者模式
意图: 动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比于生成子类更为灵活.该模式以对客户端透明的方式扩展对象的功能. 适用环境 在不影响其他对象的情况下,以动态.透明的 ...
- SQL判断经纬度在矩形内
1,将城市地图拆分等距拆分为矩形 数据结构如图: 2.查看高德JS API (点是否在多边形内)核心代码: a=[114.069564,22.545774]; b=[ [114.067595,22.5 ...
- SpringBoot | 第九章:Mybatis-plus的集成和使用
前言 本章节开始介绍数据访问方面的相关知识点.对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的.目前,绝大部分公司都选择MyBatis框架作为底层数据库持久化框 ...
- drools的error:Jboss rule 6.4.0 Cannot find a default StatelessKieSession
drools的kmodule.xml文件,如果是默认加载必须放在META-INF的文件夹下,如下图 官网大佬原话 Have you defined kieSession and KieBase nam ...
- Mybatis与Ibatis的区别
Mybatis与Ibatis的区别: 1.Mybatis实现了接口绑定,使用更加方便 在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件, 而Mybatis实现了DAO接口 ...