【问题标题】:Networkx graph is not planarNetworkx 图不是平面的
【发布时间】:2020-12-21 01:47:50
【问题描述】:

我正在尝试绘制网络图。我的代码非常简单。对于小型案例研究,此代码运行良好。但是对于具有更多顶点和弧的更大样本,我得到 G 不是平面误差。这个错误的原因是什么?

D:\Anaconda3\lib\site-packages\networkx\drawing\layout.py 在 平面布局(G,比例,中心,暗淡) 945 is_planar,嵌入= nx.check_planarity(G) 946 如果不是 is_planar: --> 947 raise nx.NetworkXException("G 不是平面的。") 第948章 第949章

NetworkXException: G 不是平面的。

def createAttackGraphNonPlanar(pos):
    G=nx.DiGraph(directed=True)
    G.add_nodes_from([nodes_map[n] for n in nodes])
    print(G.nodes())
    
    
    G.add_edges_from([  (nodes_map[e[0]],nodes_map[e[1]]) for e in arcs])
 
    nx.draw_planar(G, pos=pos, node_size=30, node_color='red', with_labels = True)

【问题讨论】:

    标签: python networkx


    【解决方案1】:

    draw_planar 函数用于从documentation 中绘制planar graph

    使用平面布局绘制平面网络x 图。

    并非所有图都是平面图。

    要绘制任何图形,请改用draw,例如(仅用于演示):

    import matplotlib.pyplot as plt
    G = nx.dodecahedral_graph()
    nx.draw(G)  # networkx draw()
    plt.draw()  # pyplot draw()
    

    有关绘制图表的更多信息,请参阅link

    【讨论】:

    • 感谢@Dani Mesejo
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 2018-05-04
    • 1970-01-01
    • 2017-06-15
    • 2019-04-01
    相关资源
    最近更新 更多