GraphViz - Как иметь подграф быть слева направо, когда основной график от начала до конца?

Я не уверен, что Вы считаете "безболезненными".

струны до являются довольно болезненными. Мы можем найти первое положение непробельного символа тривиально:

while (isspace(* p)) p++;

Мы можем найти последнее положение непробельного символа с двумя подобными тривиальными перемещениями:

while (* q) q++;
do { q--; } while (isspace(* q));

(я сэкономил Вас боль использования * и ++ операторы одновременно.)

вопрос теперь - то, что Вы делаете с этим? Тип данных под рукой не является действительно большим устойчивым кратким обзором String, который легок думать о, но вместо этого действительно едва больше, чем массив байтов устройства хранения данных. Испытывая недостаток в устойчивом типе данных, невозможно записать функцию, которая сделает то же как PHperytonby's chomp функция. Что было бы такая функция в возврате C?

24
задан Potherca 23 December 2013 в 18:46
поделиться

3 ответа

Группируя узлы Step в кластерный подграф, результат будет следующим:

digraph {
    subgraph cluster_0 {
        color=invis;
        "Step1" -> "Step2" -> "Step3";
    }

    subgraph cluster_1 {
        color=invis;
        "Step2" -> "note4";
        "Step2" -> "note3";
        "Step2" -> "note2";
        "Step2" -> "note1";
   }
}

color = invis удаляет границу, которая в противном случае была бы нарисована вокруг кластера

7
ответ дан 29 November 2019 в 00:18
поделиться

Используйте команду: Randhir = LR;

digraph {
rankdir=LR;

    "Step1" -> "Step2" -> "Step3";

    subgraph step2detail {
        "Step2" -> "note1";
        "Step2" -> "note2";
        "Step2" -> "note3";
        "Step2" -> "note4";
        rankdir=TB
   }

}
-3
ответ дан 29 November 2019 в 00:18
поделиться

Хитрость для получения описанного вами графа состоит в том, чтобы использовать два подграфа и связать один с другим. Невидимые края в «деталях» — это то, что удерживает ноты на одном уровне.

digraph {
    rankdir="LR";

    subgraph steps {
        rank="same";
        "Step1" -> "Step2" -> "Step3";
    }

    subgraph details {
        rank="same";
        edge[style="invisible",dir="none"];
        "note1" -> "note2" -> "note3" -> "note4";
    }

    "Step2" -> "note1";
    "Step2" -> "note2";
    "Step2" -> "note3";
    "Step2" -> "note4";
}

Результат:

enter image description here

11
ответ дан 29 November 2019 в 00:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: