The %P style parent hashes from git log give you the outgoing arcs for the graph, with each commit's hash (%H) giving you the node ID for each vertex. Using git rev-list --parents HEAD would give you more or less the minimal input needed to construct a graph:
89ea799ffcc5c8a0547d3c9075eb979256ee95b8 3505ddecbdd4a2eaf3d2aaea746dc18d7a0b6a6b 5a1f5c3060427375de30d609d72ac032516be4c2
3505ddecbdd4a2eaf3d2aaea746dc18d7a0b6a6b e539a834555583a482c780b11927b885f8777e90
e539a834555583a482c780b11927b885f8777e90 36d75581a4966f5d56403d1a01d60e4dc45a8ab0 00ec50e56d136de41f43c33f39cdbee83f3e4458
36d75581a4966f5d56403d1a01d60e4dc45a8ab0 5066a008bb6a810f908c020de02a646cf3c92f34 049e64aa5024a9fa2fbe6116d413da1ffc7f497a
...
Constructing the graph is now trivial: if you're into graph algorithms, you can see that the above is your G = <V, E> set right there. In other words, you're already done, you have the set G. The first column is all the vertices and the second and later columns are all the outgoing arcs.
Drawing the graph, however, is potentially much harder, depending on what problem(s) you want to solve. If git log --graph (perhaps with --oneline) does not do it for you, you will need to be more specific.
git log --graph?