Wolfram Technology Guide: Fully Automated Graph Layout  previous | next 
Put Arbitrary Graphics at Each Vertex
Mathematica allows anything to be put at the vertices of a graph.
In[1]:=

Click for copyable input
GraphPlot[

 Flatten[Thread[# -> CountryData[#, "BorderingCountries"]] & /@ 

   CountryData["SouthAmerica"]], 

 VertexRenderingFunction -> (Inset[

     Show[CountryData[#2, "Shape"], ImageSize -> 30], #] &), 

 MultiedgeStyle -> None]
Out[1]=