Graphviz中簇的控制位置 我有一个图形项目,我想把我的群集从左到右水平地用CultSyc2在中间称为QGIS。我尝试使用newrank=true;正如所描述的那样,没有成功。我的graphviz脚本的当前输出为: digraph { node [shape=record, fontname="Arial"]; rankdir=LR; L [label="Line"] ML [label="Multi-Line"] QL [label="Line"] QML [label = "Multi-Line"] QCS [label = "Circular-String"] QCC [label = "Compound-Curve"] P [label="PolyLine"] subgraph cluster_c1 { label = "SpatiaLite"; fontname="Arial"; L; ML; } subgraph cluster_c2 { label = "QGIS"; fontname="Arial"; QL; QML; QCS; QCC; } subgraph cluster_c3 { label = "Shapefile"; fontname="Arial"; P; } L -> QL [dir=both]; QCS -> L [color=grey]; QCS -> ML [color=grey]; QCC -> ML [color=grey]; QML -> ML [dir=both]; QCC -> L [ color=grey]; QML-> L [color=grey]; QL -> ML [color=grey]; QCS -> P; QCC -> P; QML -> P [dir=both]; QL -> P ; }

Graphviz中簇的控制位置 我有一个图形项目,我想把我的群集从左到右水平地用CultSyc2在中间称为QGIS。我尝试使用newrank=true;正如所描述的那样,没有成功。我的graphviz脚本的当前输出为: digraph { node [shape=record, fontname="Arial"]; rankdir=LR; L [label="Line"] ML [label="Multi-Line"] QL [label="Line"] QML [label = "Multi-Line"] QCS [label = "Circular-String"] QCC [label = "Compound-Curve"] P [label="PolyLine"] subgraph cluster_c1 { label = "SpatiaLite"; fontname="Arial"; L; ML; } subgraph cluster_c2 { label = "QGIS"; fontname="Arial"; QL; QML; QCS; QCC; } subgraph cluster_c3 { label = "Shapefile"; fontname="Arial"; P; } L -> QL [dir=both]; QCS -> L [color=grey]; QCS -> ML [color=grey]; QCC -> ML [color=grey]; QML -> ML [dir=both]; QCC -> L [ color=grey]; QML-> L [color=grey]; QL -> ML [color=grey]; QCS -> P; QCC -> P; QML -> P [dir=both]; QL -> P ; },graphviz,Graphviz,我当前的脚本是: digraph { node [shape=record, fontname="Arial"]; rankdir=LR; L [label="Line"] ML [label="Multi-Line"] QL [label="Line"] QML [label = "Multi-Line"] QCS [label = "Circular-String"] QCC [label = "Compound-Curve

我当前的脚本是:

digraph {

    node [shape=record, fontname="Arial"];
    rankdir=LR;

    L [label="Line"]
    ML [label="Multi-Line"]
    QL [label="Line"]
    QML [label = "Multi-Line"]
    QCS [label = "Circular-String"]
    QCC [label = "Compound-Curve"]
    P [label="PolyLine"]

    subgraph cluster_c1 {
        label = "SpatiaLite";
        fontname="Arial";
        L;
        ML;
    }

    subgraph cluster_c2 {
        label = "QGIS";
        fontname="Arial";
        QL;
        QML;
        QCS;
        QCC;
    }

    subgraph cluster_c3 {
        label = "Shapefile";
        fontname="Arial";
        P;
    }

    L -> QL   [dir=both];
    QCS -> L [color=grey];
    QCS -> ML   [color=grey];
    QCC -> ML  [color=grey];
    QML -> ML [dir=both];
    QCC -> L [ color=grey];
    QML-> L [color=grey];
    QL -> ML [color=grey];
    QCS -> P;
    QCC -> P;
    QML -> P [dir=both];
    QL -> P ;

}

我不知道它是如何工作的,但似乎每个子图中newrank=true和rank=same的组合都起作用:

digraph {
  node [shape=record, fontname="Arial"];
  newrank=true;
  rankdir=LR;

  L [label="Line"];
  ML [label="Multi-Line"];
  QL [label="Line"];
  QML [label = "Multi-Line"];
  QCS [label = "Circular-String"];
  QCC [label = "Compound-Curve"];
  P [label="PolyLine"];

  subgraph cluster_c1 { 
    rank=same;
    label = "SpatiaLite";
    fontname="Arial";
    L;
    ML;
  }

  subgraph cluster_c2 { 
    rank=same;
    label = "QGIS";
    fontname="Arial";
    QL;
    QML;
    QCS;
    QCC;
  }

  subgraph cluster_c3 { 
    rank=same;
    label = "Shapefile";
    fontname="Arial";
    P;
  }

  L -> QL   [dir=both];   
  ML -> QML [dir=both];        
  QCS -> L [color=grey];
  QCS -> ML   [color=grey];   
  QCC -> ML  [color=grey];   
  QCC -> L [ color=grey];
  QML-> L [color=grey];  
  QL -> ML [color=grey];    
  QCS -> P; 
  QCC -> P; 
  QML -> P [dir=both];
  QL -> P ;
}

太棒了。我不知道你可以像你所展示的那样在子组中使用秩。