Python 用Networkx绘制格和图

Python 用Networkx绘制格和图,python,matplotlib,networkx,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(

我想用
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()
然而,输出只是一个空白数字。我如何解决这个问题


另外,我想用箭头水平和垂直连接这些点。从
(i,j)到(i+1,j)
的箭头方向应取决于矩阵
a
中i,j元素的符号。如何做到这一点?

这是一个明确的图形构造函数:

我们可以将此无向图修改为符合边条件的有向图。例如,我删除了远离原点的边。您可以根据自己的需要对此进行调整:

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')

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')