You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NetworkX图边标签在PyQt嵌入的Matplotlib中无法显示的问题

问题解决方法

导致边标签无法显示的核心原因是调用nx.draw_networkx_edge_labels时未显式指定渲染用的坐标轴对象,独立使用matplotlib时会默认取全局活跃axes,嵌入PyQt自定义画布场景下必须绑定你创建的dataWidget.axe对象才能正常渲染。

修复步骤

只需要修改_drawDataGraph方法中绘制边标签的一行代码,补充ax参数即可:

# 原错误代码
# nx.draw_networkx_edge_labels(DG, pos, edge_labels=labels)
# 修改后代码
nx.draw_networkx_edge_labels(DG, pos, edge_labels=labels, ax=dataWidget.axe)

补充优化(可选)

如果出现边标签被画布边缘截断的情况,可以适当调整画布边距参数,修改data_tab初始化时的subplots_adjust配置即可:

self.canvas.figure.subplots_adjust(left=0.1, top=0.9, bottom=0.1, right=0.9)

修改完成后重新运行代码,边标签即可正常显示在PyQt嵌入的图中,和预期效果一致。

内容的提问来源于stack exchange,提问作者ThylowZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:48:03