TWaver - 專注UI技術

          http://twaver.servasoft.com/
          posts - 171, comments - 191, trackbacks - 0, articles - 2
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          HTML5復雜拓撲圖(一) 多層級拓撲圖

          Posted on 2015-04-13 11:38 TWaver 閱讀(1962) 評論(0)  編輯  收藏

          大部分拓撲圖界面都有顯示“分級呈現”的需求。一個復雜的系統或組織,會有很多不同層次的節點和連接關系。如何用圖形相對清晰的呈現出來,是一個需要不斷探討的話題。

          453

          twaver中有很多的方式可以顯示“分級”的先是方法:

          1、用Group網元組顯示。
          Group網元組是把一些網元顯示在一個組中。這個組可以雙擊展開、閉合。在閉合狀態,它和一個普通的網元節點沒什么區別:有位置、有圖標、有動作。雙擊后,默認它會把其內部的孩子顯示出來,而自己變成一個覆蓋所有孩子的“區域”,形狀可能是圓形、方形等。也有人稱之為“本地展開”。如下圖:

          443

          2、用SubNetwork子網顯示。
          SubNetwork可以用于顯示一個下級網絡,雙擊后進入一個全新場景(包括拓撲圖、地圖等),而當前的數據會完全不再顯示。這就是類似常說的數據“下鉆”或“鉆取”(drill down)。子網外觀和一個常規節點類似,雙擊后會把所有孩子在圖形上用全新場景顯示。和Group不同是它不是“本地展開”,而是“下一級展開”。如下圖:

          444

          3、用單層的連接來呈現。
          一提到“分級”大家很容易想到“組”或“子網”。其實很多情況未必非要用這些元素。很多情況,我們需要表達的僅僅是一個“分級”的關系。而這種關系,完全可以在一個層面上用連線來表示。例如一個多公司、多部門、多步驟的業務流程,可以通過類似下圖的方式進行呈現:

          445

          這種圖不用組不用子網一樣可以把各種層級和關系顯示出來,而且更容易觀察其“跨級”的連接情況和全局關系。組織內部可能分更多“下級流程”,我們可以配合網元組進行顯示:

          446

          當連線較多時,可能會造成很多交叉,此時可以使用twaver的自動布局進行積極干預,讓圖形更清晰:

          448

          但是自動布局也避免不了交叉出現的情況,有些圖形結構就是決定了它必然有交叉。此時也可以多想辦法讓圖中連線更清晰一些,例如通過鼠標滑過自動高亮相關的連線:

          449

          當然,用twaver就要盡量嘗試其提供的優秀特性。例如使用矢量進行描繪,就不需要寫多少代碼,也不怕用戶使勁放大導致難看失真:

          450

          綜上所述,我們可以靈活利用平面的拓撲圖,來呈現顯示世界中各種“分層”的邏輯,而不必一定使用所謂的分組、下鉆等特性。簡簡單單,一張清晰可人的流程圖就有了。需要源代碼的讀者,可直接發郵件向我們索取。

          452

          454


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 海兴县| 绍兴县| 巴中市| 六盘水市| 西盟| 通州市| 时尚| 获嘉县| 沁水县| 华宁县| 集安市| 乐都县| 巴林左旗| 泌阳县| 临沧市| 大同市| 抚顺市| 三门县| 北宁市| 安远县| 延安市| 从江县| 许昌市| 衡南县| 赣榆县| 个旧市| 望城县| 宝山区| 轮台县| 亚东县| 清流县| 陇川县| 宁阳县| 正宁县| 宁安市| 谢通门县| 徐州市| 兰考县| 太白县| 房产| 阳泉市|