Here is a simple example on how to customizing Graphplot. We like to use GraphPlot to visualize the number of people who commute into or out Monroe county from/to its neighbor counties.
g={{"Owen" -> "Monroe", 2813}, {"Greene" -> "Monroe",
3788}, {"Lawrence" -> "Monroe", 4022}, {"Jackson" -> "Monroe",
85}, {"Brown" -> "Monroe", 689}, {"Morgan" -> "Monroe",
821}, {"Monroe" -> "Owen", 676}, {"Monroe" -> "Greene",
207}, {"Monroe" -> "Lawrence", 679}, {"Monroe" -> "Brown",
303}, {"Monroe" -> "Morgan", 617}}
vercoor={"Monroe" -> {-86.529, 39.1621}, "Owen" -> {-86.7642, 39.2868}, "Greene" -> {-86.9403, 39.0246}, "Lawrence" –> { -86.4923, 38.8627}, "Jackson" -> {-86.0462, 38.8798}, "Brown" -> {-86.2382, 39.203}, "Morgan" -> {-86.4238, 39.4233}}
First try:
GraphPlot[g, VertexLabeling -> True, VertexCoordinateRules -> vercoor]

Using arrow to indicate in/out seems to be a good idea. We use EdgeRenderingFunction in second try:
GraphPlot[g, VertexLabeling -> True,
EdgeRenderingFunction -> (Arrow[#1, 0.05] &),
VertexCoordinateRules -> vercoor]
However, the labels on the edge is lost. We can handle it in EdgeRenderingFunction.
GraphPlot[g, VertexLabeling -> True,
EdgeRenderingFunction -> ({Text[#3, Mean[#1]], Arrow[#1, 0.05]} &), VertexCoordinateRules -> vercoor]
The graph is still difficult to read, the commuting pattern isn’t clear at a glance. We further update EdgeRenderingFunction and use the line color and thickness to show the pattern.
GraphPlot[g,
EdgeRenderingFunction -> ({If[#2[[1]] == "Monroe", Red, Blue],
AbsoluteThickness[0.5 + #3/500], Arrowheads[0.02 + #3/120000], Arrow[#1, 0.05]} &), VertexLabeling -> True,
VertexCoordinateRules -> vercoor]
In the last try, we use VertexRenderingFunction to make the label more clear.
GraphPlot[g,
EdgeRenderingFunction -> ({If[#2[[1]] == "Monroe", Red, Blue],
AbsoluteThickness[0.5 + #3/500], Arrowheads[0.02 + #3/120000], Arrow[#1, 0.06]} &), VertexLabeling -> True,
VertexCoordinateRules -> vercoor,
VertexRenderingFunction -> ({Text[Style[#2, 14, Bold], #2 /. vercoor, Background -> White]} &)]
Import the shapefile, then you get a map:
