1. 程式人生 > >python實現從大圖中篩選出小的子圖並導成json檔案

python實現從大圖中篩選出小的子圖並導成json檔案

簡述:

在做資料視覺化時會遇到這樣一個問題:比如說在瀏覽器渲染出一個力學關係圖,如果結點太多的話就密密麻麻,層層疊疊難以觀察,所以往往只需要渲染出關鍵的結點子圖即可,那麼有一個解決思路就是用python做資料處理篩選出子圖並導成前端需要的格式檔案,我寫的這個python檔案就是模擬實現這個功能。

實現思路:

1、引入需要的資料檔案和定義好要生成的檔案:

這個python檔案是對圖資料檔案進行操作,使用的資料檔案有邊檔案(裡面就包含了結點id),和四個結點指標資料檔案。

2、定義好要用到的關鍵變數:

其中TopNum很重要,它表示某一指標要取前5的結點。

3、將各個指標值儲存在相應的陣列中,並對陣列排序,如果值大的比較重要就倒序。這個操作完成後取這個指標值top5對應的結點id。

4、獲取第一層結點後便是借鑑廣度優先搜尋的思想依次獲取第二層、第三層和第四層。中間為了要做陣列過濾去重。

5、將篩選出的子圖id和指標值儲存到一個檔案裡,將子圖id排序並對映成從0開始的連續id值。

檔案儲存結果:

6、藉助對映檔案獲得結點對映過後的邊檔案:

資料檔案:

7、最後根據以上檔案生成子圖json格式檔案:

下面是程式碼地址: