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

调整PyVis参数以增大节点间距的技术咨询

棋局走法网络图节点分散优化方案

问题背景

我正在制作一盘棋局的走法网络图,当前生成的图节点较为密集,希望调整参数提升节点分散程度。当前效果图显示节点大量聚集,布局拥挤。

现有代码

import networkx as nx
from pyvis.network import Network
import json

N = nx.Graph()
N.add_edges_from(main_list)

# Calculate node sizes based on their degrees
scale = 5  # Scaling the size of the nodes by 10*degree
d = dict(N.degree)
node_sizes = {node: scale * degree for node, degree in d.items()}

N2 = Network(notebook=True, height="1600px", width="100%", font_color="black", directed=True)

# Add nodes and edges to N2 with the calculated sizes
for node, size in node_sizes.items():
    N2.add_node(node, size=size)

for edge in N.edges():
    N2.add_edge(edge[0], edge[1])

# Define the options
options = {
  "edges": {
    "smooth": {
      "type": "continuous",
      "roundness": 0.15
    }
  },
  "physics": {
    "repulsion": {
      "centralGravity": 0.55,
      "springLength": 245,
      "nodeDistance": 795,
      "damping": 0.75
    },
    "maxVelocity": 14,
    "minVelocity": 0.75,
    "solver": "repulsion"
  }
}
# Convert the options dictionary to a JSON string and set it
options_str = json.dumps(options)
N2.set_options(options_str)

N2.show("better_map.html")

优化参数调整建议

针对节点密集问题,主要调整physics配置里的排斥力相关参数,具体如下:

  • 增大nodeDistance:这是控制节点之间最小距离的核心参数,当前设置为795,可尝试提升至1000-1500,强制节点保持更远的间距。
  • 降低centralGravity:当前值0.55,减小到0.3-0.4,降低中心引力对节点的聚集作用,让节点更易向外分散。
  • 增大springLength:当前245,调整到300-400,拉长边的弹簧长度,间接让节点间距变大。
  • 尝试更换物理 solver:如果repulsion solver效果不佳,可换成barnesHut,它在处理密集节点时的分散效果更稳定,配置示例:
    "physics": {
      "barnesHut": {
        "centralGravity": 0.3,
        "springLength": 350,
        "springConstant": 0.04,
        "nodeDistance": 1200,
        "damping": 0.7
      },
      "maxVelocity": 14,
      "minVelocity": 0.75,
      "solver": "barnesHut"
    }
    
  • 调整节点尺寸:如果节点本身过大导致视觉上拥挤,可减小scale值(当前为5),比如改成3,缩小节点显示大小,让布局看起来更宽松。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 19:44:50