Skip to content

sfdp — 6 goldens

Scalable force-directed layout for large undirected graphs. Each graph below is rendered live in your browser by the library.

rendering…
sfdp-simpleiterative10-node undirected graph
DOT source
// @knowvah/dot-engine reference input: 10-node undirected graph
// engine: sfdp
// tolerance: iterative
graph G {
    n0 -- n1; n1 -- n2; n2 -- n3; n3 -- n4;
    n4 -- n5; n5 -- n6; n6 -- n7; n7 -- n8;
    n8 -- n9; n9 -- n0; n0 -- n5; n2 -- n7;
}
rendering…
sfdp-mediumiterative30-node undirected graph (libm-chaotic: ARM pow vs Apple libm, see decision-journal M8/T3; drift pinned by portReference)
DOT source
// @knowvah/dot-engine reference input: 30-node undirected graph
// engine: sfdp
// tolerance: iterative
graph G {
    n0 -- n1; n1 -- n2; n2 -- n3; n3 -- n4;
    n4 -- n5; n5 -- n6; n6 -- n7; n7 -- n8;
    n8 -- n9; n9 -- n10; n10 -- n11; n11 -- n12;
    n12 -- n13; n13 -- n14; n14 -- n15; n15 -- n16;
    n16 -- n17; n17 -- n18; n18 -- n19; n19 -- n20;
    n20 -- n21; n21 -- n22; n22 -- n23; n23 -- n24;
    n24 -- n25; n25 -- n26; n26 -- n27; n27 -- n28;
    n28 -- n29; n29 -- n0;
    n0 -- n10; n10 -- n20; n20 -- n0;
}
rendering…
sfdp-largeiterative100-node undirected graph in a ring pattern (libm-chaotic: ARM pow vs Apple libm, see decision-journal M8/T3; drift pinned by portReference)
DOT source
// @knowvah/dot-engine reference input: 100-node undirected graph in a ring pattern
// engine: sfdp
// tolerance: iterative
graph G {
    n0 -- n1;
    n1 -- n2;
    n2 -- n3;
    n3 -- n4;
    n4 -- n5;
    n5 -- n6;
    n6 -- n7;
    n7 -- n8;
    n8 -- n9;
    n9 -- n10;
    n10 -- n11;
    n11 -- n12;
    n12 -- n13;
    n13 -- n14;
    n14 -- n15;
    n15 -- n16;
    n16 -- n17;
    n17 -- n18;
    n18 -- n19;
    n19 -- n20;
    n20 -- n21;
    n21 -- n22;
    n22 -- n23;
    n23 -- n24;
    n24 -- n25;
    n25 -- n26;
    n26 -- n27;
    n27 -- n28;
    n28 -- n29;
    n29 -- n30;
    n30 -- n31;
    n31 -- n32;
    n32 -- n33;
    n33 -- n34;
    n34 -- n35;
    n35 -- n36;
    n36 -- n37;
    n37 -- n38;
    n38 -- n39;
    n39 -- n40;
    n40 -- n41;
    n41 -- n42;
    n42 -- n43;
    n43 -- n44;
    n44 -- n45;
    n45 -- n46;
    n46 -- n47;
    n47 -- n48;
    n48 -- n49;
    n49 -- n50;
    n50 -- n51;
    n51 -- n52;
    n52 -- n53;
    n53 -- n54;
    n54 -- n55;
    n55 -- n56;
    n56 -- n57;
    n57 -- n58;
    n58 -- n59;
    n59 -- n60;
    n60 -- n61;
    n61 -- n62;
    n62 -- n63;
    n63 -- n64;
    n64 -- n65;
    n65 -- n66;
    n66 -- n67;
    n67 -- n68;
    n68 -- n69;
    n69 -- n70;
    n70 -- n71;
    n71 -- n72;
    n72 -- n73;
    n73 -- n74;
    n74 -- n75;
    n75 -- n76;
    n76 -- n77;
    n77 -- n78;
    n78 -- n79;
    n79 -- n80;
    n80 -- n81;
    n81 -- n82;
    n82 -- n83;
    n83 -- n84;
    n84 -- n85;
    n85 -- n86;
    n86 -- n87;
    n87 -- n88;
    n88 -- n89;
    n89 -- n90;
    n90 -- n91;
    n91 -- n92;
    n92 -- n93;
    n93 -- n94;
    n94 -- n95;
    n95 -- n96;
    n96 -- n97;
    n97 -- n98;
    n98 -- n99;
    n99 -- n0;
    n0 -- n20;
    n10 -- n30;
    n20 -- n40;
    n30 -- n50;
    n40 -- n60;
    n50 -- n70;
    n60 -- n80;
    n70 -- n90;
    n80 -- n0;
    n90 -- n10;
}
rendering…
sfdp-disconnectediterativeThree 5-node undirected components
DOT source
// @knowvah/dot-engine reference input: three 5-node undirected components
// engine: sfdp
// tolerance: iterative
graph G {
    a0 -- a1 -- a2 -- a3 -- a4 -- a0;
    b0 -- b1 -- b2 -- b3 -- b4 -- b0;
    c0 -- c1 -- c2 -- c3 -- c4 -- c0;
}
rendering…
sfdp-weightediterative15-node undirected graph with weight attributes
DOT source
// @knowvah/dot-engine reference input: 15-node undirected graph with weight attributes
// engine: sfdp
// tolerance: iterative
graph G {
    n0 -- n1 [weight=2]; n1 -- n2 [weight=1]; n2 -- n3 [weight=3];
    n3 -- n4 [weight=1]; n4 -- n5 [weight=2]; n5 -- n6 [weight=1];
    n6 -- n7 [weight=3]; n7 -- n8 [weight=1]; n8 -- n9 [weight=2];
    n9 -- n10 [weight=1]; n10 -- n11 [weight=3]; n11 -- n12 [weight=1];
    n12 -- n13 [weight=2]; n13 -- n14 [weight=1]; n14 -- n0 [weight=3];
}
rendering…
sfdp-single-nodeiterativeSingle-node undirected graph; ref: graphviz 15.0.0 dot -Ksfdp -Tsvg
DOT source
// @knowvah/dot-engine reference input: single-node undirected graph
// engine: sfdp
// tolerance: iterative
graph G {
    A;
}