NodeXL will do much of what your are describing.
However, in NodeXL parallel edges currently are plotted directly on top of one another, which may be an issue for your requirements.
It is possible to plot one "thick" edge and and a thinner, contrasting colored, edge with appropriate use of the opacity settings for the heavier edge (make think things more transparent, thin things more opaque).
However, in NodeXL parallel edges currently are plotted directly on top of one another, which may be an issue for your requirements.
It is possible to plot one "thick" edge and and a thinner, contrasting colored, edge with appropriate use of the opacity settings for the heavier edge (make think things more transparent, thin things more opaque).