如何利用json數據生成樹圖
樹圖渲染命令行工具
本項目封裝了 antvis/g6,利用 JSON 數據生成 HTML 格式的樹圖
安裝
pip 安裝
$ pip install pytm-clin
源碼安裝
$ git clone https://github.com/chenjiandongx/pytreemap.gitn $ cd torrent-clin $ pip install -r requirements.txtn $ python setup.py installn
使用
命令行參數
C:Userschenjiandongx>pytm-clinusage: pytm-cli [-i INPUT] [-o OUTPUT] [-d DIRECTION] [-t TYPE] [-v] [-h]nn樹圖渲染命令行工具-利用 JSON 數據生成 HTML 格式的樹圖nnoptional arguments:n -i INPUT, --input INPUTn JSON 數據路徑.n -o OUTPUT, --output OUTPUTn 輸出 HTML 文件路徑.(默認為`.TreeMap.html`)n -d DIRECTION, --direction DIRECTIONn 樹圖的布局方向, 有 LR/RL/H/TB/BT/V 可選.(默認為 LR)n -t TYPE, --type TYPE 樹圖類型, 1.分層樹 2.縮進樹 3.生態樹.(默認為 1)n -v, --version 版本信息n -h, --help 幫助頁面n
JSON 數據
首先假設你有一份數據需要生產樹圖,大概長這樣
|----B |----E----|----In | |n |----C-----|----F |----JnA----| |n |----D-----|----G----|----|----Kn |n |----Hn
這時候思路就很清晰了,你需要來編寫成 JSON 數據了,節點都是以 {name, children} 為基礎的遞歸嵌套模式,如下
{n "children": [n {n "children": [],n "name": "B"n },n {n "children": [n {n "children": [n {n "children": [],n "name": "I"n }n ],n "name": "E"n },n {n "children": [],n "name": "F"n }n ],n "name": "C"n },n {n "children": [n {n "children": [n {n "children": [],n "name": "J"n },n {n "children": [],n "name": "K"n }n ],n "name": "G"n },n {n "children": [],n "name": "H"n }n ],n "name": "D"n }n ],n "name": "A"n}n
怎麼樣,結構很清晰吧,將文件保存為 json 格式,如 data.json
生成樹圖
接下來之執行 pytm-cli -i data.json -o demo.html
,然後用瀏覽器打開根目錄下的 demo.html 文件,就可以看到已經生產了這樣的一張圖了
當指定 -t/--type 參數分別為 2 3 時,得到的圖是這樣的
type 為 2
type 為 3
其餘參數嘗試一下就知道效果了,這裡提供官網提供的 數據 生產的效果
pytm-cli -i data.json
pytm-cli -i data.json -d H
pytm-cli -i data.json -t 3
以模塊方式使用
from pytreemap import rendernnrender(input, direction=None, output=None, type=None)nn:param input: 輸入 json 文件路徑n:param direction: 樹圖方向,有 LR/RL/H/TB/BT/V 可選n:param output: 輸出 html 文件路徑n:param type: 樹圖類型n
項目地址:chenjiandongx/pytreemap
推薦閱讀:
TAG:Python |