The interactive flow graph Agreement Groups in the United States Senate [friggeri.net] by French PhD student Adrien Friggeri reveals how US senators have agreed (or disagreed) over time.
All historical US Senators were subdivided in overlapping groups of agreement using a custom-made community detection algorithm called C3, which was specifically designed to detect maximally cohesive groups in a network. Here, I guess the network was created from recognizing how people voted for specific bills.
Each row in the vertical graph represents one unique session of the Congress. Senators are represented by paths (i.e. Democrats, Republicans, Independents) which are grouped in gray boxes when they are part of the same agreement group. Since a person might be part of several groups during a same Congress, some of the paths have branches towards both the groups the Senator belongs to.
Although the algorithm was able to consistently discover two distinct groups, it still sometimes arrived at 'wrong' results (e.g. placing a Democrat in the Republican group or vice versa).