You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Pyvis Network设置预保存的物理参数选项?

如何将预配置的Pyvis物理参数直接应用到Network对象?

问题场景

我用Pyvis创建了一个网络可视化,示例代码如下:

from pyvis import Network
G = Network(notebook=True)
G.add_nodes([1, 2, 3], label=['Peter', 'Paul', 'Mary'])
G.add_nodes([4, 5, 6, 7], 
            label=['Michael', 'Ben', 'Oliver', 'Olivia'],
            color=['#3da831', '#9a31a8', '#3155a8', '#eb4034'])

可视化时节点持续移动,我通过G.show_buttons(filter_=['physics'])开启物理控件,导出HTML调整参数后,得到如下JS配置:

const options = {
  "physics": {
    "enabled": false,
    "forceAtlas2Based": {
      "springLength": 100
    },
    "minVelocity": 0.75,
    "solver": "forceAtlas2Based"
  }
}

希望直接把这些参数写入代码,无需每次手动调整。


解决方法

有两种简洁的方式将预配置的物理参数应用到Pyvis的Network对象:

方法1:使用Python字典更新配置

将JS配置转换为Python字典(注意把JS的false改为Python的False),然后通过options.update()方法合并到Network对象的配置中:

from pyvis import Network

G = Network(notebook=True)
G.add_nodes([1, 2, 3], label=['Peter', 'Paul', 'Mary'])
G.add_nodes([4, 5, 6, 7], 
            label=['Michael', 'Ben', 'Oliver', 'Olivia'],
            color=['#3da831', '#9a31a8', '#3155a8', '#eb4034'])

# 转换后的Python配置字典
physics_config = {
    "physics": {
        "enabled": False,
        "forceAtlas2Based": {
            "springLength": 100
        },
        "minVelocity": 0.75,
        "solver": "forceAtlas2Based"
    }
}

# 应用配置(仅覆盖物理相关参数,保留其他默认设置)
G.options.update(physics_config)

# 导出可视化HTML
G.show('tmp.html')

方法2:直接传入JS配置字符串

使用set_options()方法,直接将调整好的JS配置字符串传入:

from pyvis import Network

G = Network(notebook=True)
G.add_nodes([1, 2, 3], label=['Peter', 'Paul', 'Mary'])
G.add_nodes([4, 5, 6, 7], 
            label=['Michael', 'Ben', 'Oliver', 'Olivia'],
            color=['#3da831', '#9a31a8', '#3155a8', '#eb4034'])

# 直接传入JS配置字符串
G.set_options("""
{
  "physics": {
    "enabled": false,
    "forceAtlas2Based": {
      "springLength": 100
    },
    "minVelocity": 0.75,
    "solver": "forceAtlas2Based"
  }
}
""")

G.show('tmp.html')

注意事项

  • 方法1更适合Python环境下的参数修改和维护,不会替换Network对象的其他默认配置;
  • 方法2适合直接复用从界面导出的JS代码,无需格式转换。

内容的提问来源于stack exchange,提问作者Ivo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 17:17:33