Python NetworkX和Matplotlib-文本标签放错位置

Python NetworkX和Matplotlib-文本标签放错位置,python,matplotlib,networkx,diagram,Python,Matplotlib,Networkx,Diagram,以下代码尝试将每个节点的标签放置在NetworkX/Matplotlib默认包含的标签之外。节点的原始位置是通过调用“nx.spring_布局(g)”获得的 问题是,当使用Matplotlib绘制标签时,后者放错了位置,如附图所示 我应该做些不同的事情吗 import logging import networkx as nx import matplotlib.pyplot as plt __log = logging.getLogger(__name__) g = nx.Graph()

以下代码尝试将每个节点的标签放置在NetworkX/Matplotlib默认包含的标签之外。节点的原始位置是通过调用“nx.spring_布局(g)”获得的

问题是,当使用Matplotlib绘制标签时,后者放错了位置,如附图所示

我应该做些不同的事情吗

import logging
import networkx as nx
import matplotlib.pyplot as plt

__log = logging.getLogger(__name__)
g = nx.Graph()

nodes = ['shield', 'pcb-top', 'pcb-config', 'chassis']
for k in nodes:
    g.add_node(k)

plt.figure(figsize=(8, 11), dpi=150)
nx.draw(g, with_labels=True)

node_cfg = nx.spring_layout(g)
for k, node in node_cfg.items():
    __log.debug('node = %s @(%.6f, %.6f)', k, node[0], node[1])
    plt.text(node[0], node[1], k, bbox={'color': 'grey'})

plt.savefig('test.png')

使用与标签相同的网络图形位置信息

node_cfg = nx.spring_layout(g)
plt.figure(figsize=(8, 11), dpi=150)
nx.draw(g, pos=node_cfg, with_labels=True)