Visualization of connections between groups I have around ten groups (of companies). Each group is connected with each other group. The data I have is representing the strength of the connection. Imagine it's the number of times someone from group A sent an email to group B.
The strength of a connection can be 0. There are two connections between two groups, A-B and B-A.
a) What would be a good way to visualize this? I could imagine, for example, that each group is a circle. Lines connect the circles and the thickness of the line represents the strength of the connection. Being able to indicate the size of the groups would be a plus but not required.
b) Do you know of any software tools to visualize this? The tool shouldn't be too expensive or should be available as a trial version as for now it's just a proof of concept. It doesn't have to be web-based.  
 A: What you describe in your example is not only a network of relationships, but a network of "flows" between all groups. 
Like you suggested in a) (and as Jeromy said as well) your graphic will likely be a visualization of one group (or node) linked to other groups. Most of my knowledge of this subject is visualizing flows between geographic spaces, but many of the same issues still apply.
I think this paper does a good job summarizing visualization techniques in regards to mapping flows.
From spatial interaction data to spatial interaction information? Geovisualisation and spatial structures of migration from the 2001 UK census
by: Alasdair Rae
Computers, Environment and Urban Systems, Vol. 33, No. 3. (May 2009), pp. 161-178. (PDF here)
Typically visualizing flows in geographic space has three main problems. One is that it is difficult to distinguish between in-flows and out-flows. The second is that long lines tend to dominate the graphic. Three is that over-lapping or too many flows tend to make the graphic look very noisy.
The second problem may be solved by however you organize the nodes on your graphic (like Jeromy suggested cluster nodes together with strong relationships). It may also be easier to use small multiple graphs to distinguish between in-flows, out-flows, and reciprocal flows (i.e. map your nodes to a specific space and then have seperate graphics displaying in-flows, out-flows). I have not seen any examples of flows in networks like you describe, so I do not know if the self-organizing graphics have the problem of over-lapping lines.
If you have experience programming in Python you may want to check out the NetworkX package. (The Gephi package Ars linked to looks pretty awesome as well). 
This is similar in nature to questions brought up on the GIS stackexchange forum, and here is a question with answers you may be interested in.
Good Luck
A: Gephi is pretty good for visualization directed or undirected graphs/networks.  Another option might be Walrus.  
A: A quick couple of thoughts:


*

*I've used multidimensional scaling to visualise connections between team members (i.e., a weighted network). Nodes with stronger connections then appear closer in the figure. Here's some resources for implementing in R.

*You could present a standard graph where line thickness is based on strength of connection.

A: An alternative to multidimentional scaling is making a map of the each group's position to one another as a SOM (Self Organising Maps). Just like you see with a geographic map of the United States with Kansas in the middle, the groups that are positioned near the middle of your SOM map would be the groups that are most connected to other groups.
Here is a python SOM module
