代码之家  ›  专栏  ›  技术社区  ›  Soyol

Matlab:在图形中创建重复边

  •  0
  • Soyol  · 技术社区  · 8 年前

    “普通图”命令不允许并给出了不允许重复边的错误,有向图也会发生同样的情况。

    有人知道有什么方法或技巧可以做到这一点吗?

    例如,我希望matlab绘制以下图形:

    G = graph([1 1 3],[2 2 5])
    plot(G)
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   Christine Tobler    8 年前

    这在MATLAB类图中是不可能的。允许两个节点之间有多条边的图通常称为多图或类似图,使用较少。

    您可以通过添加一个权重变量来解决此问题,如果它表示多条边,则该权重变量更大:

    G = graph([1 3], [2 5], [2 1]);
    

    然后,可以使用这条线绘制较粗的边:

    plot(G, 'LineWidth', G.Edges.Weight);
    

    其他解决方法可能是可行的,这取决于您希望如何处理此图。