python3+pyecharts生成網絡拓撲圖


 

 

先上結果:

鼠標指到相關節點后會這樣顯示:

 

 

 滾輪還可以放大縮小

還可以自定義圖標。

唯一的缺點就是無法在連接線的兩端顯示端口好、兩個節點之間只能有一條線相連。

缺點可以通過補充一個excel端口接線表來補充說明。

上代碼:

 1 #!/usr/bin/python
 2 # -*- coding: utf-8 -*-
 3 """
 4   Author:  Linxy -- <592901071@qq.com>
 5   Created: 2017-7-30
 6 """
 7 
 8 
 9 from pyecharts import Graph#引用之前要先pip install pyecharts及相關的支持模塊
10 
11 
12 nodes = [{"name": "外網", "symbolSize": 50,'symbol':'image://D://yun.png'},#注意圖標的位置要用絕對地址,否則會認不到圖片
13          {"name": "防火牆", "symbolSize": 40},#設置節點及節點圖標大小
14          {"name": "核心交換", "symbolSize": 50},
15          {"name": "9-A1-1", "symbolSize": 20},
16          {"name": "9-A1-2", "symbolSize": 20},
17          {"name": "9-A1-3", "symbolSize": 20},
18          {"name": "9-A3-1", "symbolSize": 20},
19          {"name": "9-A3-2", "symbolSize": 20},         
20          {"name": "9-A3-3", "symbolSize": 20},]
27 
28 links = [{"source": "防火牆", "target": "外網"},#設置節點連接關系
29          {"source": "防火牆", "target": "核心交換"},
30          {"source": "核心交換", "target": "9-A1-1"},
31          {"source": "核心交換", "target": "9-A1-2"},
32          {"source": "核心交換", "target": "9-A1-3"},
33          {"source": "核心交換", "target": "9-A3-1"},
34          {"source": "核心交換", "target": "9-A3-2"},
35          {"source": "核心交換", "target": "9-A3-3"},]
36 
37 graph = Graph("XXX網絡拓撲圖",'這里附標題',height=600,width=800)#畫布高600寬800
38 graph.add("", nodes, links, repulsion=8000,is_label_show=True)#is_label_show=True表示節點名字為一直顯示
39 #graph.show_config()#表示將生成的文件打印出來,我們只要結果的HTML不需要知道代碼
40 graph.render(r'./tb.html')#生成html文件並保存到當前路勁下。

 

 pyecharts詳細使用教程請移步:

https://github.com/chenjiandongx/pyecharts/blob/master/README.md#%E9%A1%B9%E7%9B%AE%E6%A6%82%E5%86%B5

 

 

 

 

 

 


 


免責聲明!

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



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