Python 3.x 在3D中可视化链接攻击的最佳方式是什么

Python 3.x 在3D中可视化链接攻击的最佳方式是什么,python-3.x,graph,networkx,graph-visualization,pyvis,Python 3.x,Graph,Networkx,Graph Visualization,Pyvis,这是我上一个问题的后续问题,该问题用于在图形中可视化边缘攻击 下面的代码已发布为 实线表示受到攻击的边,相同颜色的虚线表示由于特定攻击而受到影响的相邻边 答案有帮助,但当受影响的边重叠时会出现问题 例如 attack(H, (6, 4), color='red') attack(H, (5, 4), color='yellow') 颜色重叠,很难想象。如果我们可以绘制虚线,指示相互相邻的受影响/受攻击边缘,而不重叠,如中所示,这将很好 对于如何改进此可视化的建议,我们将不胜感激 编辑:下面

这是我上一个问题的后续问题,该问题用于在图形中可视化边缘攻击

下面的代码已发布为

实线表示受到攻击的边,相同颜色的虚线表示由于特定攻击而受到影响的相邻边

答案有帮助,但当受影响的边重叠时会出现问题

例如

 attack(H, (6, 4), color='red')
 attack(H, (5, 4), color='yellow')
颜色重叠,很难想象。如果我们可以绘制虚线,指示相互相邻的受影响/受攻击边缘,而不重叠,如中所示,这将很好

对于如何改进此可视化的建议,我们将不胜感激

编辑:下面的答案对2D网络非常有用,我仍然很满意
正在寻找扩展此功能以可视化3D网络的方法,即当pyvis中的x、y、z坐标可用作节点的pos属性时。非常感谢您的建议。

避免图形中重叠边的另一个好方法是使用pyvis,但是这里的问题是它只支持有向图中的平行边。一种解决方案是将图形可视化为有向图形,然后调整边选项以使箭头不可见。将以下代码段添加到上述代码的末尾

从pyvis.network导入网络 N=Networkbgcolor='2222222',font\u color='white',directed=True N.设置“边缘”平滑“动态” 对于H中的n个节点: N.加上noden,color='gray' 对于H边中的e: N.添加边[0],e[1],颜色为灰色,宽度为0 对于受影响的边缘中的e: N.添加边[0],e[1],颜色=e[2],宽度=1,破折号=True 对于边中的e: N.添加边[0],e[1],颜色=e[2],宽度=1 N.设置选项' 变量选项={ 边缘:{ 箭头:{ 致:{ 启用:对, 缩放因子:0 }, 中间:{ 启用:对, 缩放因子:0 }, 发件人:{ 启用:对, 缩放因子:0 } }, 颜色:{ 继承:对 }, 平滑的:{ 强制方向:无 } }, 物理学:{ 最小速度:0.75 } } ' N.write_html'example_graph.html' 您可以在示例_graph.html中找到以下图表:

您问题的标题没有反映问题,它使问题看起来像是重复的。我可以知道pyvis是否可以用于生成3D图形吗?或者换句话说,我想知道如何将H.节点的位置添加到pyvis图NHi@Azim Mazinani我也尝试了N.show'edge\u attack.html'N.show\u按钮来代替N.write\u html'example\u graph.html',但它显示了一个错误'self.options.configure=Configureenabled=True,筛选器=筛选器\uuAttributeError:“dict”对象没有“configure”属性。你能告诉我这里出了什么问题吗?
 attack(H, (6, 4), color='red')
 attack(H, (5, 4), color='yellow')