lov*_*eed 7 python matplotlib networkx
我想画一个正方形格子Networkx.我做了这样的事情:
import matplotlib.pyplot as plt
import numpy as np
import networkx as nx
L=4
G = nx.Graph()
pos={}
for i in np.arange(L*L):
pos[i] = (i/L,i%L)
nx.draw_networkx_nodes(G,pos,node_size=50,node_color='k')
plt.show()
Run Code Online (Sandbox Code Playgroud)
然而,输出只是一个空白数字.我该如何解决这个问题?
另外,我想用箭头水平和垂直地连接点.箭头的方向(i,j) to (i+1,j)应该取决于A我已经拥有的矩阵的i,j元素的符号.这该怎么做?
Hoo*_*ked 10
这是一个显式的图形构造函数nx.grid_2d_graph:
G = nx.grid_2d_graph(L,L)
nx.draw(G,node_size=2000)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我们可以将此无向图修改为符合边缘标准的有向图.举个例子,我删除了远离原点的边缘.您可以根据自己的需要进行调整:
G2 = nx.DiGraph(G)
for edge in G2.edges():
if edge != tuple(sorted(edge)):
G2.remove_edge(*edge)
nx.draw_spectral(G2,node_size=600,node_color='w')
Run Code Online (Sandbox Code Playgroud)
