【问题标题】:How can I specify an exact output size for my networkx graph?如何为我的 networkx 图指定精确的输出大小?
【发布时间】:2011-04-03 18:43:20
【问题描述】:

以上是我当前图表的输出。但是,我还没有管理我想要实现的目标。我需要以更大的尺寸输出我的图形,以便可以轻松查看每个节点/边。

我试过nx.draw(G, node_size=size),但这只会增加节点的大小,而不是节点和边之间的距离。

【问题讨论】:

    标签: python image networkx


    【解决方案1】:

    您可以增加绘图的大小以及设置 dpi。 如果 dpi 降低,节点会分散得更多。

    G = nx.Graph()
    # Add edges
    fig = plt.figure(1, figsize=(200, 80), dpi=60)
    nx.draw(G, with_labels=True, font_weight='normal')
    

    【讨论】:

      【解决方案2】:

      由于您的网络布局似乎太“杂乱”,您可能想尝试不同的图形布局算法,看看哪一种最适合您。

      nx.draw(G)  
      nx.draw_random(G)  
      nx.draw_circular(G)  
      nx.draw_spectral(G)  
      nx.draw_spring(G)  
      

      此外,如果您有太多节点(比如说几千个),则可视化您的图表可能会成为问题。

      【讨论】:

        【解决方案3】:

        您可以尝试更小的节点/字体或更大的画布。以下是两者兼得的方法:

        import matplotlib.pyplot as plt
        import networkx as nx
        G = nx.cycle_graph(80)
        pos = nx.circular_layout(G)
        # default
        plt.figure(1)
        nx.draw(G,pos)
        # smaller nodes and fonts
        plt.figure(2)
        nx.draw(G,pos,node_size=60,font_size=8) 
        # larger figure size
        plt.figure(3,figsize=(12,12)) 
        nx.draw(G,pos)
        plt.show()
        

        【讨论】:

          猜你喜欢
          • 2012-11-22
          • 1970-01-01
          • 2012-04-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多