Layout in vertical column, with side notes

I’m new to Graphviz and dot. It seems ideal to separate content from presentation.

I would like to lay out a graph like this (created in OmniGraffle):

Graphviz/dot has it’s own opinion about this, and does this (sorry, I had to pixelate the text):

Is there a way to convince the layout engine that a certain line of items should be vertical, and other items would be adornments connected to those central items? (I did try weight=n, but it didn’t work consistently.)

If I understand what you’re after, I think this will help, but the more stylized you want your graph (the more you want to manage the positioning), the harder it becomes.
[if you want to continue this, there probably is an anonymousizer program in your Graphizer package (probably in /usr/share/graphviz/gvpr)]
digraph vert {
graph [rankdir=“LR”]
{
rank=same
x1 [label=“a note here”]
x2 [label=“some parameters”]
}
{
rank=same
s1 [label= “Step 1”]
s2 [label= “Step 2”]
s3 [label= “Step 3”]
}
{
rank=same
of [label=“Output File”]
}
x1->s2
x2->s3
s1->s2->s3
s2 -> of [dir=backward]
}
vertical1

Hi John,
can you please post how to make the layout to be in two columns?
Thanks!
Hans

Your request is kind of loose, but here is one solution in 2 columns:

digraph vert {
  graph [rankdir="LR"]
 {
  rank=same
  x1 [label="a note here"]
  of [label="Output File"]  
  x2 [label="some parameters"]  
 }
 {
  rank=same
  s1 [label= "Step 1"]
  s2 [label= "Step 2"]
  s3 [label= "Step 3"]
 }

 x1->s2
 x2->s3
 s1->s2->s3
 s2 -> of [dir=backward]
}

Giving:
verticalModified

Sorry Steve, my request was related to the first post (especially the second image). I thought it would also refer to this. Thanks for your answer, but why do your solution doesn’t work with loose nodes like this?:

digraph vert {
  graph [rankdir="LR"]
 {
  rank=same
  x1 [label="a note here"]
  of [label="Output File"]  
  x2 [label="some parameters"]  
 }
 {
  rank=same
  s1 [label= "Step 1"]
  s2 [label= "Step 2"]
  s3 [label= "Step 3"]
 }

 #x1->s2
 #x2->s3
 s1->s2->s3
 #s2 -> of [dir=backward]
}