`help/posets/text/plot_poset` := TEXT( ` `, `FUNCTION: plot_poset - plot posets (or acyclic directed graphs)`, ` `, `CALLING SEQUENCE: plot_poset(P,);`, ` plot_poset(P,X,);`, ` plot_poset(P,n,);`, ` `, `PARAMETERS: P = a poset (or acyclic directed graph)`, ` X = a set (the vertex set)`, ` n = a positive integer (the number of vertices)`, ` = any of the following, in any order:`, ` (1) ranked`, ` (2) proportional`, ` (3) stretch=`, ` (4) ecolor=, or ecolor=`, ` (5) vcolor= `, ` (6) labels, or labels=
`, ` (7) title=`, ` `, `SYNOPSIS: `, ` plot_poset(P,X) plots the Hasse diagram of the poset P with vertex set X,`, ` using Maple 2D graphics. The (default) embedding algorithm proceeds as`, ` follows. First, the vertex set is arranged into "levels" according to`, ` 'filter'. The vertices within each level are then sorted by 'sort'. An`, ` initial layout is then chosen, with equal horizontal spacing between the`, ` vertices in each level. Finally, an adjustment algorithm is used to`, ` horizontally shift the positions of vertices until there are no "phantom"`, ` relations (i.e., vertices incident with the interior of an edge).`, ` `, ` plot_poset(P,n) does the same, if {1,...,n} is the vertex set of P.`, ` plot_poset(P) does the same, provided that there are no isolated vertices.`, ` `, ` Note: 'plot_poset' requires Maple V Release 2, or later versions.`, ` `, ` There are several options for controlling the form of the plot:`, ` `, ` ranked `, ` Arrange the vertices into levels according to the procedure 'ranked', if`, ` possible. If the poset is not ranked, then use 'filter' (the default).`, ` `, ` proportional`, ` Use spacing between the vertices that is inversely proportional to the`, ` number of vertices at that level. This tends to produce better-looking`, ` plots for posets in which there are extreme variations in the number of`, ` vertices in each level. `, ` `, ` stretch=`, ` Stretch the vertical axis by the indicated factor. In versions of Maple in`, ` which plots appear in separate windows, similar effects can be achieved by`, ` selecting Unconstrained from the Projection menu, and reshaping the window.`, ` `, ` ecolor=`, ` Specify the color of the edges in the plot. The default color is set by`, ` the global variable ``posets/default``[ecolor], and is user-modifiable.`, ` Initially, the default value for ecolor is red.`, ` `, ` ecolor=
`, ` Specify individual colors for each (covering) edge of P. The entries of`, ` the table should be subsets (of the covering edges) of P, and the index`, ` corresponding to a given entry should be the desired color for the given`, ` set of edges. Any edge of P not occurring in one of the color-sets will be`, ` assigned the default edge color.`, ` `, ` vcolor=`, ` Specify the color of the vertices and labels (see below) in the plot. The`, ` default color is set by the global variable ``posets/default``[vcolor],`, ` and is user-modifiable. Initially, the default value for vcolor is white.`, ` `, ` labels `, ` Specify that the vertices of P in the plot should be represented by their`, ` names, rather than by points (the default).`, ` `, ` labels=
`, ` Specify a special label for each vertex of P. The indices of the table`, ` should be the vertices of P, and corresponding entries are the desired`, ` labels. The table entries must be of type 'string' (not names or numbers).`, ` `, ` title=`, ` Print the indicated title.`, ` `, `EXAMPLES: `, ` P:=J({},4);`, ` plot_poset(P,title=``Boolean Algebra on 4 Points``);`, ` Q:=subinterval(P,[1,12]);`, ` C:=table([green=Q]);`, ` plot_poset(P,ecolor=C,labels);`, ` P:={[1,2],[2,3],[4,3],[4,5],[5,6]};`, ` plot_poset(P,ranked,labels,vcolor=green);`, ` P:=({},1) &+ rand_poset(20,0.3);`, ` plot_poset(P,stretch=1.5);`, ` M:=mobius(P):`, ` L:=table([seq(i=convert(M[1,i],'string'),i=1..21)]);`, ` plot_poset(P,labels=L);`, ` P:=({},1) &+ ({},2) &+ ({},10) &+ ({},2) &+ ({},1);`, ` plot_poset(P,proportional);`, ` `, `SEE ALSO: colors, filter, ranked` ): save `help/posets/text/plot_poset`, ``.HomeLib.`/help/posets/text/plot_poset.m`; quit