arrow

A relation between two boxes in a flowchart, drawn as a line the environment routes.

arrowNode
Three boxes, DNA, RNA and Protein, joined left to right by arrows labelled transcription and translation.Three boxes, DNA, RNA and Protein, joined left to right by arrows labelled transcription and translation.

#Attributes

fromRequiredImplicit
#id of the box the arrow leaves.
Can be written as shorthand: arrow:value
toRequired
#id of the box the arrow enters.
head
Which ends carry a head: end (the default, at to), none for a plain line, as Chen's entity–relationship links are, both, or start (at from). The boxes are ranked from from to to whichever it is.
endnonebothstart
Defaultend
label
Rich inline text in a chip on the arrow's own run near where it leaves, clear of other lines and chips; failing that near where it lands, and failing both just beside its line.
from-label
Rich inline text set beside the line where it leaves from — an entity–relationship cardinality, say: arrow(from: #student; to: #enrols; head: none; from-label: N).
to-label
Rich inline text set beside the line where it meets to.
colourAnimatable
The hue of the stroke, its head, its chip's edge and its label; unset, a neutral grey.
colour
Also written: color
dashed
A dashed stroke — the conventional weaker or conditional relation.
Defaultfalse
hiddenAnimatable
Declared but not drawn, and taking no room while hidden. Animatable.
Defaultfalse

#Allowed in

#Examples

Two boxes, DNA and RNA, joined by an arrow labelled transcription.Two boxes, DNA and RNA, joined by an arrow labelled transcription.
flowchart{
    box#dna{DNA}
    box#rna{RNA}
    arrow(from: #dna; to: #rna; label: transcription)
}(
    direction: right
)
Three frames of the second step: a flow from PCR to the decision, then an arrow labelled no drawing back from the decision to PCR.Three frames of the second step: a flow from PCR to the decision, then an arrow labelled no drawing back from the decision to PCR.
flowchart{
    box#pcr{PCR amplify}
    box#check:decision{Enough DNA?}
    arrow(from: #pcr; to: #check)
    cue.draw{
        arrow(from: #check; to: #pcr; label: no)
    }(
        in: 2
    )
}(
    direction: right
)

#Notes

  • The endpoints are #ids of boxes in the same environment; an id no box declares is a compile error: 'arrow.to' names '#qc', but no box in this environment declares that id.
  • A forward arrow leaves the front of its source and lands on the back of its target: straight where the two line up, and turning once, on a track of its own, where they do not.
  • An arrow never crosses a box or runs along another arrow.
  • An arrow back against the flow, or to its own box, leaves by the side and lands on the target's back.
  • cue.draw strokes an arrow in along its length; several arrows and boxes in one draw follow the flow.
  • A dashed: arrow fades in under cue.draw instead of being stroked.

Last updated