Python 如何在使用networkx和matplotlib时显示x轴和y轴?

Python 如何在使用networkx和matplotlib时显示x轴和y轴?,python,matplotlib,networkx,Python,Matplotlib,Networkx,您好,所以我尝试使用networkx和matplotlib绘制图形,但是,尽管将轴设置为“开”,并且通过向轴添加x/y限制,我的x和y轴仍没有显示 我试图实现其他人的代码,看看轴是否会显示,但没有运气 将networkx导入为nx 将matplotlib.pyplot作为plt导入 G=nx.DiGraph() G.从中添加边( [('A','B'),('A','C'),('D','B'),('E','C'),('E','F'), ('B','H'),('B','G'),('B','F'),('

您好,所以我尝试使用networkx和matplotlib绘制图形,但是,尽管将轴设置为“开”,并且通过向轴添加x/y限制,我的x和y轴仍没有显示

我试图实现其他人的代码,看看轴是否会显示,但没有运气

将networkx导入为nx
将matplotlib.pyplot作为plt导入
G=nx.DiGraph()
G.从中添加边(
[('A','B'),('A','C'),('D','B'),('E','C'),('E','F'),
('B','H'),('B','G'),('B','F'),('C','G'))
val_map={'A':1.0,
“D”:0.5714285714285714,
“H”:0.0}
value=[val_map.get(node,0.25)表示G.nodes()中的节点]
#在此处指定所需的边
红边=[('A','C'),('E','C')]
边缘颜色=[如果不是红色边缘,则为“黑色”\u其他边缘为“红色”
对于G.边中的边()]
黑色_边=[G.边中边的边()如果边不在红色_边中]
#执行此操作时需要创建布局
#分别调用以绘制节点和边
位置=nx.弹簧布置图(G)
nx.draw_networkx_节点(G,pos,cmap=plt.get_cmap('jet'),
节点颜色=值,节点大小=500)
nx.绘制网络X标签(G、pos)
nx.绘制网络x边(G,位置,边列表=红色边,边颜色=r',箭头=真)
nx.绘制网络X边(G,位置,边列表=黑色边,箭头=假)
plt.show()
来自另一个线程的一些示例代码:

我甚至尝试了他/她的代码,他提供的代码,我甚至可以从他的截图中看到他能够显示轴,但从我的角度看,我什么也没有得到


没有错误消息。

在某些早期版本的
networkx
中,刻度和标签未被设置。现在它们是——主要是因为轴上的数字很少有任何特殊意义

但是,如果他们这样做了,你需要再次打开它们

fig, ax = plt.subplots()
nx.draw_networkx_nodes(..., ax=ax)

#...

ax.tick_params(left=True, bottom=True, labelleft=True, labelbottom=True)

在以前版本的
networkx
中,刻度和标签没有被抵消。现在它们是——主要是因为轴上的数字很少有任何特殊意义

但是,如果他们这样做了,你需要再次打开它们

fig, ax = plt.subplots()
nx.draw_networkx_nodes(..., ax=ax)

#...

ax.tick_params(left=True, bottom=True, labelleft=True, labelbottom=True)

这是一个相当老的解决方案,但我对接受的解决方案有问题。
nx.draw\u networkx\u节点
nx.draw
不完全相同(特别是,默认情况下它不会绘制边)。但是使用
draw
不会单独显示轴

添加
plt.limits(“on”)
允许将
draw
(及其语法)与axis一起使用

fig,ax=plt.subplot()
nx.draw(G,…,ax=ax)#注意我们称之为draw,而不是draw_networkx_节点
极限=旋转轴(“打开”)#旋转轴
ax.tick_参数(左=真,下=真,labelleft=真,labelbottom=真)

相当旧,但我对接受的解决方案有问题。
nx.draw\u networkx\u节点
nx.draw
不完全相同(特别是,默认情况下它不会绘制边)。但是使用
draw
不会单独显示轴

添加
plt.limits(“on”)
允许将
draw
(及其语法)与axis一起使用

fig,ax=plt.subplot()
nx.draw(G,…,ax=ax)#注意我们称之为draw,而不是draw_networkx_节点
极限=旋转轴(“打开”)#旋转轴
ax.tick_参数(左=真,下=真,labelleft=真,labelbottom=真)

非常感谢,它现在可以工作了。是的,我能理解这并不意味着拥有这个号码太多。这只是为了我自己的可视化,特别是使用pos来确定节点的放置位置。非常感谢,它现在可以工作了。是的,我能理解这并不意味着拥有这个号码太多。这只是为了我自己的可视化,特别是使用pos来确定节点的放置位置。