digraph tx_overview { size=6.25; splines = "false"; rankdir=LR; rankdir=TB; ranksep=0.001; nodesep=0.01; //splines=ortho; node [ penwidth=1.75, fontname="Sans", shape = box ]; edge [ penwidth=1.75, fontname="Sans" ]; graph [ penwidth=1.75, fontname="Sans" ]; subgraph cluster_tx { Locktime; Outputs; Inputs; Version; //tx_label1 [ shape = "none", label = "" ]; tx0_label [ shape = "none", label = "The Main Parts Of\nTransaction 0" ]; labelloc = b graph [ penwidth=0 ]; } tx_label [ shape = "none", label = "Each input spends a previous output" ]; tx_label -> Inputs [ style = "invis" ]; tx_label -> Outputs [ style = "invis" ]; subgraph cluster_tx1 { Version1 [ label = "Version" ]; Inputs1 [ label = "Inputs" ]; Outputs1 [ label = "Outputs" ]; Locktime1 [ label = "Locktime" ]; //tx_label1 [ shape = "none", label = "" ]; tx1_label [ shape = "none", label = "The Main Parts Of\nTransaction 1" ]; labelloc = b graph [ penwidth=0 ]; } utxos [ shape = "none", label = "Each output waits as an Unspent TX Output (UTXO) until a later input spends it" ]; Locktime -> Locktime1 [ style = "invis", weight = 3 ]; Version -> Version1 [ style = "invis", weight = 3 ]; Inputs -> Inputs1 [ style = "invis", weight = 3 ]; Outputs -> Outputs1 [ style = "invis", weight = 3 ]; Outputs -> Inputs1 [weight = 0 ]; Inputs1 -> utxos [ style = "invis" ]; }