架構圖(拓撲圖)畫圖工具分析整理(靜態,動態,可交互圖.層級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 繪制

 
2.1 繪制動態圖,可用於博客教程. 描述流程. (表格用於數據結構)
   GraphvizAnim

3. 可交互庫. 分層打開,關閉. 收縮,展開.

  和 gui 結合. 節點化. yFiles java 的. h5的相對比較多. android 和 ios 比較少

后來一想 h5的庫的特點是可以交互

再搜索:  twaver qunee

得到

市面上也有很多制作Web版網絡拓撲的框架。如: jsplumbQunee (收費的)、 grapheditorDagre-D3HT for WebJtopotwaver 等。

1.http://www.jtopo.com 開源 比較懶

2.TWaver 收費

3.Qunee for HTML5 收費

4.Iolive 免費,服務收費

 

ps: 題外話: 不小心搜索到 圖形數據庫. 是相對關系型數據庫來說的.有

挑戰傳統關系型數據庫:Facebook圖形數據庫TAO揭秘

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM