MathOverflow is a question and answer site for professional mathematicians. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Hi, does somebody know if there is any software for visualizing very large posets? (like those in page 27 of this notes of Guenter Ziegler). They may arise (as in that text) by considering the face lattices of high dimensional polytopes. Thanks!

share|cite|improve this question
up vote 2 down vote accepted

I feel certain that Ziegler's Fig. 2.1 below (to which I assume you are referring?) was just drawn "by hand" in a generic drawing program, such as Adobe Illustrator, or xfig.
           Fig. 2.1
           (p.643 = 27th page of notes linked by Camilo)

This is probably not what you want, but Mathematica (via Combinatorica) can draw Hasse diagrams. See, e.g., this link for how to accomplish this.
                      alt text

share|cite|improve this answer
Thanks!. Yep, those where the ones I meant. I thought they could have been generated "exactly", upon input of a poset, so that for very large posets they look smoothed out, instead of like a tangle of hair. – Camilo Sarmiento Dec 1 '11 at 10:04

John Stembridge's site containing Maple packages for symmetric functions, posets, root systems, and finite Coxeter groups could be helpful.

share|cite|improve this answer
In particular, $\mathtt{plot\_poset}$ in the $\mathtt{posets}$ package will automatically draw a Hasse diagram of a poset. – Timothy Chow Jul 27 '15 at 14:38

David Cook, Sonja Mapes and I have a package for Macaulay 2 which draws pictures of posets, either with or without node labels. It will produce the TikZ code to include these in papers as well.

How large though is "very large"? While there are a number of built-in enumerators in our package (lcm lattices, hyperplane arrangement lattices, noncrossing partition lattices, etc.) which can produce fairly large posets quickly, the only limitation might be how you're storing or inputting these posets.

share|cite|improve this answer
The package is still in development, but if you're familiar with Macaulay 2 and interested, the Posets.m2 file can be downloaded at: It does make use of the Graphs.m2 package as well, which was worked on extensively this summer at the IMA workshop: – Gwyn Whieldon Nov 30 '11 at 20:39
Thanks, I will have a look. Very large was such that it may be more illuminating to draw the poset as a shaded area, like in the figures Joseph posted (say, over 100 elements?). Though I guess in this case such illustrations could be obtained from the rank function alone. – Camilo Sarmiento Dec 1 '11 at 10:12

I'm seeing this question very late, but have two possibly useful suggestions for drawing posets:

  1. My favorite way to automatically draw large graphs with unknown structure is GraphViz. See
    With some work, this can be made to give poset diagrams. That's one of the good options for output of Stembridge's Poset package for Maple, as mentioned in one of the other answers. (But GraphViz is open source software, which seems like a significant advantage to me.) Looking at the source code of Stembridge's package might be a good place to start in figuring out which GraphViz options to look at.

  2. GAP with the XGap (for Unix/Xwindows) or my own (for Mac) front-end has code which allows manipulating Hasse diagrams of posets. I have found it useful for making good diagrams of small to medium size posets. I realize that the question asks about large posets, but include this for completeness.
    For good results, GAP requires you to specify the position of the vertices (and automatically draws the edges for you), so it helps if you have some idea of the structure of the poset.
    (I can share an example or two of presenting poset diagrams with GAP, if it would be helpful.)

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.