微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Plotly - 控制用 networkx.graphviz_layout 生成的图中节点之间的间距

如何解决Plotly - 控制用 networkx.graphviz_layout 生成的图中节点之间的间距

我是 plotly、graphviz 和 pygraphviz 的新手。

我希望将我创建的图形的节点隔开。

我的布局使用 pygraphviz 和 networkx 的 graphviz_layout。 我参考了以下页面,了解可在 graphviz_layout 中使用的参数。

https://networkx.org/documentation/stable//reference/generated/networkx.drawing.nx_agraph.graphviz_layout.html

目前的图表如下所示:

enter image description here

用于生成图表的代码段看起来有点像这样:

import sys
import os

import numpy
import itertools
from lxml import etree 
import lxml.html

import re

import networkx as nx
import matplotlib.pyplot as plt

import pygraphviz

from networkx.drawing.nx_agraph import graphviz_layout

import plotly.graph_objects as go

G = nx.DiGraph()

#nodes and edges added around here

pos=graphviz_layout(G,prog='dot')

edge_trace = go.Scatter(
    x=edge_x,y=edge_y,line=dict(width=0.5,color='#888'),hoverinfo='none',mode='lines')

node_trace = go.Scatter(
    x=node_x,y=node_y,mode='markers',hoverinfo='text',marker=dict(size=10,line_width=2)
    )
            
node_trace.marker.color = color_list
node_trace.text = node_text

config = dict({'scrollZoom': True})

fig = go.figure(data=[edge_trace,node_trace],layout=go.Layout(
                title='Comparison Results: ',titlefont_size=16,showlegend=False,hovermode='closest',margin=dict(b=80,l=10,r=10,t=40),annotations=[ dict(
                    text="",showarrow=False,xref="paper",yref="paper",x=0.005,y=-0.002 ) ],xaxis=dict(showgrid=False,zeroline=False,showticklabels=False),yaxis=dict(showgrid=False,showticklabels=False))
                )

fig.update_layout(dragmode='pan')

fig.show(config=config)

如何将图形上的节点隔开?

我是否必须使用 args 边界(如上面的 graphviz_layout 链接中所述)?

我如何用 args 边界隔开节点/任何其他方法来隔开节点?

非常感谢任何帮助。提前致谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。