Pyvis 开源项目教程
项目介绍
Pyvis 是一个基于 Python 的库,用于创建和可视化交互式网络图。它构建在 vis.js 这个 JavaScript 可视化库之上。Pyvis 的完整文档可以在 这里 找到。
项目快速启动
安装
你可以通过 pip 安装 Pyvis:
pip install pyvis
或者如果你有一个项目的存档,只需从顶层目录运行以下命令:
python setup.py install
快速示例
以下是一个最基本的 Pyvis 使用示例:
from pyvis.network import Network
# 创建一个网络对象
g = Network()
# 添加节点
g.add_node(0)
g.add_node(1)
# 添加边
g.add_edge(0, 1)
# 显示网络
g.show("basic.html")
应用案例和最佳实践
可视化《权力的游戏》角色网络
以下是一个使用 Pyvis 可视化《权力的游戏》角色网络的示例:
from pyvis.network import Network
import networkx as nx
# 创建一个网络对象
g = Network()
# 从 networkx 加载数据
G = nx.read_gml('game_of_thrones.gml')
# 将 networkx 图添加到 pyvis 网络中
g.from_nx(G)
# 显示网络
g.show("game_of_thrones.html")
使用配置 UI 动态调整网络设置
Pyvis 提供了配置 UI,允许用户动态调整网络设置,例如节点大小、边颜色等。
from pyvis.network import Network
# 创建一个网络对象
g = Network(height='600px', width='100%', notebook=True, heading='Network Configuration UI')
# 添加节点和边
g.add_node(0, label='Node 0')
g.add_node(1, label='Node 1')
g.add_edge(0, 1)
# 显示配置 UI
g.show_buttons(filter_=['nodes', 'edges'])
# 显示网络
g.show("config_ui.html")
典型生态项目
NetworkX
NetworkX 是一个用于创建、操作和研究复杂网络的结构、动态和功能的 Python 库。Pyvis 与 NetworkX 集成良好,可以直接将 NetworkX 图转换为 Pyvis 网络。
Jupyter Notebook
Pyvis 可以在 Jupyter Notebook 中直接使用,提供交互式的网络可视化体验。
from pyvis.network import Network
# 创建一个网络对象
g = Network(notebook=True)
# 添加节点和边
g.add_node(0)
g.add_node(1)
g.add_edge(0, 1)
# 显示网络
g.show("notebook.html")
通过这些示例和最佳实践,你可以开始使用 Pyvis 创建和可视化交互式网络图。