As recommended by other posters, specifically Graphviz . It accepts the input file, let it foaf.dot in the following format:
graph G { "George Formby" [shape=custom, shapefile="file:formby.png"]; "Michael Jackson" [shape=custom, shapefile="file:jackson.png"]; "George Formby" -- "Michael Jackson"; "Fred Flinstone" -- "Michael Jackson"; "Michael Jackson" -- "Steve McQueen"; }
Please note that this file describes an undirected graph (I hope your friendships are mutual). The syntax for directed graphs is similar.
To output your graph to a PDF file (provided that you have already installed graphviz), run the following command
dot -Tpdf foaf.dot > foaf.pdf
Graphviz supports several output formats other than PDF; for more details, see its documentation.
I find that the dot program usually provides the best output, however Graphviz contains a total of 5 layout programs. From the documentation:
- dot - filter for drawing oriented graphs
- neato - filter for drawing undirected graphs
- twopi - filter for radial chart layouts
- circo - filter for circular layout of graphs
- fdp - filter for drawing non-oriented graphs
wxs
source share