
  pplloottRRooww -- ddeeffiinneess oonnee oorr mmoorree rroowwss ooff tthhee uunniitt ddiissppllaayy pplloott

  UUSSAAGGEE

        plotRow [<numRows>] [next <group> <n> | lnext <group> <n> |
            cnext <group> <n> | rnext <group> <n> | span <group> <start> <n>
    |
            unit <unit> | blank <n> | fill]*

  DDEESSCCRRIIPPTTIIOONN

  This is the main command for describing the network layout used in the Unit
  Viewer. It adds one or more rows of unit cells to the bottom of the layout.
  The actual drawing in the Unit Viewer is not changed until _d_r_a_w_U_n_i_t_s is
  called or the Unit Viewer is refreshed.

  The first optional argument specifies the number of rows that are to be
  produced by this command. Essentially, this is the number of times the
  subsequent commands are to be repeated and a new row produced. A value of *
  will cause the commands to be repeated as long as they result in at least
  one unit being displayed. If no value is specified, this defaults to 1.

  With no additional arguments, plotRow will leave the specified number of
  rows blank. Otherwise, any number of plot commands may be given. Each
  command describes a layout block. The blocks will be packed together from
  left to right on the row in the order in which their commands are
  specified. Some blocks are of fixed width and others are of flexible width.
  Each command may be abbreviated to its first character.

  next takes a group and an integer. It will plot the next n units of the
  group that have not already been plotted. Ordinarily, the width of the
  block created by this command is n. However, if there are no longer n
  unused units remaining, the width of the block will be the actual number of
  units plotted.

  lnext is similar to next, but the width of the block created will always be
  n. If there are no longer n unused units remaining, those units plotted
  will be left-justified in the block and the rest of the block will be left
  blank.

  cnext is identical to lnext except that units in partially full blocks will
  be centered within the block rather than left justified.

  rnext is identical to lnext except that units in partially full blocks will
  be right rather than left justified.

  span plots a range of n units from the group beginning with the unit whose
  number is given by start. The width of the block will always be n. If a
  unit in the span has already been plotted, its position will be blank.

  unit plots a single unit in a block of width 1. The unit will be replotted
  even if it has already been plotted. In this case, a blank space will be
  left in its previous location in the layout.

  blank creates an empty block of width n.

  fill creates a block of variable width. Once all of the other blocks in the
  row have been created, if the total number of columns taken up by those
  blocks is less than the networks plotCol value, any fill blocks will be
  expanded roughly equally to take up any remaining space.

  EEXXAAMMPPLLEESS

  To layout groups hidden1 and hidden2 in two columns of width 5 with a
  column one cell wide separating them and units in the last row left
  justified within their blocks:

        lens> plotRow * l hidden1 5 b 1 l hidden2 5

  To plot units input:0 and input:9 at the left and right of a row and then
  plot the first ten input units with spaces where units 0 and 9 would have
  been:

        lens> plotRow u input:0 f u input:9
        lens> plotRow s input 0 10

  To layout the entire network in columns of width two rather than in rows:

        lens> plotRow * n input 2 b 1 n hidden 2 b 1 n output 2

  To arrange a group of 86 units in a circle:

        lens> set r 5.5
        lens> for {set i 1} {$i < 2 * $r} {incr i} {
        > plotRow f n input [expr 2 * sqrt(2 * $i * $r - $i * $i)] f }

  SSEEEE AALLSSOO

  _r_e_s_e_t_P_l_o_t, _p_l_o_t_A_l_l, _d_r_a_w_U_n_i_t_s, _a_u_t_o_P_l_o_t

  ---------------------------------------------------------------------------
    Last modified: Wed Nov 15 11:16:24 EST 2000

