python?pyvis庫創(chuàng)建可視化交互式網(wǎng)絡(luò)圖
超酷的python庫pyvis
https://github.com/WestHealth/pyvis
pyvis 是一個(gè)用于創(chuàng)建和可視化交互式網(wǎng)絡(luò)圖的 Python 庫。
pyvis 可以在每個(gè)節(jié)點(diǎn)或每個(gè)邊緣的基礎(chǔ)上進(jìn)行定制。可以為節(jié)點(diǎn)指定顏色、大小、標(biāo)簽和其他元數(shù)據(jù)。
每個(gè)圖形都可以進(jìn)行交互,允許拖動(dòng)、懸停以及選擇節(jié)點(diǎn)和邊。
每個(gè)圖形的布局算法也可以進(jìn)行調(diào)整,以允許嘗試渲染更大的圖形。
庫的安裝
我們可以直接使用 pip 來進(jìn)行安裝。
pip install pyvis
創(chuàng)建網(wǎng)絡(luò)
首先,使用 pyvis 中的 Network 類創(chuàng)建一個(gè) net。
net = Network( notebook=True, )
要在 Jupyter Notebook 上顯示圖表,請將 notebook 參數(shù)設(shè)置為 True。
添加節(jié)點(diǎn)
你現(xiàn)在可以向圖表添加節(jié)點(diǎn)。
net.add_node("Singapore") net.add_node("San Francisco") net.add_node("Tokyo") net.add_nodes(["Riga", "Copenhagen"], color=['lightgreen', 'yellow'])
函數(shù) add_node() 用來添加單個(gè)節(jié)點(diǎn),而函數(shù) add_nodes() 則添加多個(gè)節(jié)點(diǎn)到圖中。
你還可以為這兩個(gè)函數(shù)設(shè)置可選的顏色參數(shù)來設(shè)置節(jié)點(diǎn)的顏色。
要顯示圖形,請使用 show() 函數(shù)。
net.show('mygraph.html')
添加邊
將節(jié)點(diǎn)添加到圖中后,你現(xiàn)在可以添加邊來連接節(jié)點(diǎn)。
net.add_edge("Singapore","San Francisco") net.add_edge("San Francisco","Tokyo") net.add_edges( [ ("Riga","Copenhagen"), ("Copenhagen","Singapore"), ("Singapore","Tokyo"), ("Riga","San Francisco"), ("San Francisco","Singapore"), ] ) net.show('mygraph.html')
函數(shù) add_edge() 添加連接兩個(gè)節(jié)點(diǎn)的單個(gè)邊,而函數(shù) add_edges() 接受連接各個(gè)節(jié)點(diǎn)的元組列表。
該圖現(xiàn)在顯示連接各個(gè)節(jié)點(diǎn)的邊。
嘗試拖動(dòng)每個(gè)節(jié)點(diǎn),看看它們在釋放后如何被拉回。
有向圖
如果你想要一個(gè)有向圖,你應(yīng)該在 Network 類中設(shè)置有向參數(shù)。
net = Network( notebook=True, directed=True )
你現(xiàn)在應(yīng)該看到一個(gè)有向圖。
修改圖形的物理特性
如果單擊并拖動(dòng)圖表中的節(jié)點(diǎn),你會注意到節(jié)點(diǎn)會四處彈跳。
當(dāng)你釋放鼠標(biāo)時(shí),節(jié)點(diǎn)將彈回其原始位置。
你可以使用 repulsion() 函數(shù)自定義圖形背后的物理原理(它們?nèi)绾螐椈亍椈傻淖枘岬龋?/p>
以下語句顯示了 repulsion() 函數(shù)中所有參數(shù)的默認(rèn)值。
net.repulsion( node_distance=100, central_gravity=0.2, spring_length=200, spring_strength=0.05, damping=0.09, )
以下是各個(gè)參數(shù)的用途。
node_distance,這是斥力的影響范圍。
central_gravity,將整個(gè)網(wǎng)絡(luò)拉向中心的重力吸引子。
spring_length,邊的剩余長度。
spring_strength,邊緣彈簧的強(qiáng)度。
阻尼,范圍從 0 到 1 的值,表示上一次物理模擬迭代中的速度有多少會延續(xù)到下一次迭代。
pyvis 庫最有趣的方面是它使你的網(wǎng)絡(luò)圖變得栩栩如生。交互式網(wǎng)絡(luò)圖非常適合社交網(wǎng)絡(luò)、公司結(jié)構(gòu)或你想要可視化實(shí)體之間關(guān)系的其他網(wǎng)絡(luò)。
以上就是 python pyvis庫創(chuàng)建和可視化交互式網(wǎng)絡(luò)圖的詳細(xì)內(nèi)容,更多關(guān)于python pyvis可視化交互式網(wǎng)絡(luò)圖的資料請關(guān)注腳本之家其它相關(guān)文章!
- python?spotlight庫簡化交互式方法探索數(shù)據(jù)分析
- Python數(shù)據(jù)分析庫PyGWalker的強(qiáng)大交互式功能界面探索
- Python?Pexpect庫自動(dòng)化交互式進(jìn)程控制的expect_list方法解析
- Python Pyvis庫創(chuàng)建交互式網(wǎng)絡(luò)圖實(shí)例探究
- Python Shiny庫創(chuàng)建交互式Web應(yīng)用及高級功能案例
- Python?Streamlit制作交互式可視化網(wǎng)頁應(yīng)用實(shí)例
- Gradio構(gòu)建交互式Python應(yīng)用使用示例詳解
- python Dtale庫交互式數(shù)據(jù)探索分析和可視化界面
相關(guān)文章
使用Python批量連接華為網(wǎng)絡(luò)設(shè)備的操作步驟
隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和設(shè)備數(shù)量的增加,手動(dòng)配置和管理每臺網(wǎng)絡(luò)設(shè)備變得越來越不現(xiàn)實(shí),因此,自動(dòng)化工具和腳本變得尤為重要,本篇文章將詳細(xì)介紹如何使用Python批量連接華為網(wǎng)絡(luò)設(shè)備,實(shí)現(xiàn)自動(dòng)化配置和管理,需要的朋友可以參考下2024-06-06Python腳本實(shí)現(xiàn)下載合并SAE日志
這篇文章主要介紹了Python腳本實(shí)現(xiàn)下載合并SAE日志,本文講解了代碼編寫過程,然后給出了完整代碼,需要的朋友可以參考下2015-02-02Python中Flask-RESTful編寫API接口(小白入門)
這篇文章主要介紹了Python中Flask-RESTful編寫API接口(小白入門),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Pycharm pyuic5實(shí)現(xiàn)將ui文件轉(zhuǎn)為py文件,讓UI界面成功顯示
這篇文章主要介紹了Pycharm pyuic5實(shí)現(xiàn)將ui文件轉(zhuǎn)為py文件,讓UI界面成功顯示,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04python 實(shí)用工具狀態(tài)機(jī)transitions
這篇文章主要介紹了python 實(shí)用工具狀態(tài)機(jī)transitions的使用,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-11-11Python?xpath,JsonPath,bs4的基本使用
這篇文章主要介紹了Python?xpath,JsonPath,bs4的基本使用,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-07-07