Loading [MathJax]/jax/output/HTML-CSS/jax.js

First time here? Check out the FAQ!

Ask Your Question
1

Plotting poset with vertices replaced by graph plots

asked 8 years ago

GrumpyChuckles gravatar image

updated 7 years ago

FrédéricC gravatar image

Hello ask.sagemath! I'd like to graph a poset of all connected graphs on 4 vertices with the relation of .
So far I can either draw all such graph using

L = filter(lambda g : g.is_connected(), graphs(4));
graphs_list.show_graphs(L)

Or draw a Poset with

Poset((["a","b","c"],[["a","c"],["b","c"]])).show();

But I can't combine them to, say, have

g1=Graph([(1,2),(2,3)]);
g2=Graph([(1,2),(1,3)]);
g3=Graph(networkx.complete_graph(3));
Poset([g1,g2,g3],[[g1,g3],[g2,g3]).show();

Is there a way to draw a poset where the vertices are also drawn to be graphs?

Thank you for your help!

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
0

answered 8 years ago

FrédéricC gravatar image

Not very nice, but this sort of works. First install ''dot2tex'' using ''sage -i dot2tex''. Then

sage: g1 = Graph([(1,2),(2,3)], immutable=True)
sage: g2 = Graph([(1,2),(1,3)], immutable=True)

You can also do this like that : "g = g.copy(immutable=True)"

sage: G = DiGraph({g1:[g2]})
sage: G.set_latex_options(format='dot2tex')
sage: view(G)

This outputs a pdf file.

You can then try to play with the options to get a better layout.

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 8 years ago

Seen: 461 times

Last updated: Mar 17 '17