相关疑难解决方法(0)

改进Python NetworkX图形布局

我在使用python-networkx创建的图形可视化方面存在一些问题,我希望能够减少混乱并调节节点之间的距离(我还尝试过spring_layout,它只是以椭圆形方式布置节点).请指教. 在此输入图像描述

部分代码:

nx.draw_networkx_edges(G, pos, edgelist=predges, edge_color='red', arrows=True)
nx.draw_networkx_edges(G, pos, edgelist=black_edges, arrows=False, style='dashed')
# label fonts
nx.draw_networkx_labels(G,pos,font_size=7,font_family='sans-serif')
nx.draw_networkx_edge_labels(G,pos,q_list,label_pos=0.3)
Run Code Online (Sandbox Code Playgroud)

python networkx

31
推荐指数
3
解决办法
3万
查看次数

从距离矩阵绘制图形或网络?

我正在尝试绘制/绘制(matplotlib或其他python库)一个大距离矩阵的2D网络,其中距离将是草绘网络的边缘以及其节点的线和列.

DistMatrix =
[       'a',   'b',     'c',    'd'],
['a',   0,      0.3,    0.4,    0.7],
['b',   0.3,    0,      0.9,    0.2],
['c',   0.4,    0.9,    0,      0.1],
['d',   0.7,    0.2,    0.1,    0] ]
Run Code Online (Sandbox Code Playgroud)

我正在寻找从这样的(更大的:数千列和线)距离矩阵绘制/绘制2d网络:节点'a'通过边缘深度0.3,节点'c'和'd链接到节点'b' '将被边缘深度0.1绑定.我可以使用哪些工具/库(距离矩阵可以转换成numpy矩阵)来获得这种网络的草图/图形投影?(pandas,matplotlib,igraph,......?)和一些导致快速做到这一点(我不会定义我的自我Tkinter功能来做那个;-))?谢谢你的回答.

python plot graph social-networking

22
推荐指数
2
解决办法
2万
查看次数

为Networkx和Graphviz中的特定节点着色

我正在编写一个程序来绘制距离矩阵图.它工作正常.现在我希望某个节点和某个边缘具有我选择的特定颜色.我怎么做?

该程序使用Python并使用Networkx和Graphviz

import networkx as nx
import numpy as np
import pickle
from random import randint

p_file = open('pickles/distance')
Dist = pickle.load(p_file)
p_file.close()
p_file = open('pickles/names')
Names = pickle.load(p_file)
p_file.close()

dt = [('len', float)]
A = np.array(Dist)*5
A = A.view(dt)

G = nx.from_numpy_matrix(A)
G = nx.relabel_nodes(G, dict(zip(range(len(G.nodes())),Names)))    

G = nx.to_agraph(G)
G.node_attr.update(ndcolor="red", node="DC", style="filled")
G.edge_attr.update(color="none")
G.draw('P1.png', format='png', prog='neato')
Run Code Online (Sandbox Code Playgroud)

numpy graph graphviz networkx graph-visualization

13
推荐指数
1
解决办法
1万
查看次数

使用nx.draw_graphviz在python中使用graphviz布局绘制图形会出错

我试图在python的networkx中以graphviz布局绘制一个100节点的多图G,所以到目前为止我进行了两次试验:

试验1 nx.draw_graphviz函数如下,nx.draw_graphviz(G)但是我对图中的所有节点重复了以下错误:

错误:节点1,位置[0.127506302389087,0.3262608552621944],预计两个双打

然后试图找到一个解决方案,我使用试验2 A=nx.to_agraph(G)得到一个pygraphviz图,但当我尝试绘制时,nx.draw_graphviz(A)我得到以下错误:

AttributeError:'AGraph'对象没有属性'number_of_selfloops'

nx.graphviz_layout但它返回了一个由节点键入的位置字典,我不知道如何用它来绘制graphviz布局.

注意我导入了graphviz,pygraphviz和pydot模块,但我不知道哪些是真正需要的,但它仍然不起作用.

是否缺少在graphviz布局中绘制networkx图形的东西?

完整跟踪错误

试验1

Traceback (most recent call last):
  File "main.py", line 102, in <module>
    d.display_graph(sub_normal,NEUTRAL_RANGE)
  File "/home/abdallah/stage/Reputation_system/display.py", line 33, in display_graph
    nx.draw_graphviz(G)
  File "/usr/local/lib/python2.7/dist-packages/networkx-1.10-py2.7.egg/networkx/drawing/nx_pylab.py", line 982, in draw_graphviz
    pos = nx.drawing.graphviz_layout(G, prog)
  File "/usr/local/lib/python2.7/dist-packages/networkx-1.10-py2.7.egg/networkx/drawing/nx_pydot.py", line 257, in graphviz_layout
    return pydot_layout(G=G,prog=prog,root=root,**kwds)
  File "/usr/local/lib/python2.7/dist-packages/networkx-1.10-py2.7.egg/networkx/drawing/nx_pydot.py", line 277, in pydot_layout
    D=P.create_dot(prog=prog)
  File "/usr/lib/python2.7/dist-packages/pydot.py", line 1802, in <lambda>
    lambda f=frmt, prog=self.prog : self.create(format=f, prog=prog))
  File …
Run Code Online (Sandbox Code Playgroud)

python graphviz networkx pygraphviz pydot

5
推荐指数
1
解决办法
1676
查看次数