Obviously, this will need some updating but if this guy keeps it current, it could be a handy reference tool for someone who doesn't need reading glasses.
GovTrack: The Political Spectrum
The political spectrum image is generated through a statistical analysis of the cosponsorship of bills in the 109th and 110th sessions of Congress. The analysis places representatives who cosponsor similar legislation closer together --- it does not rely on party affiliation information or any analysis of bill content. A deeper explanation is below the image. Note that members of Congress are placed vertically roughly alphabetically. Only the left-right direction means anything. (Last updated Oct. 19, 2008.)
The statistical analysis used here is called Singular Value Decomposition, applied to sponsorship and cosponsorship records, and while it can place each of our representatives at points on the image above, it can't tell us what those positions mean. Senator Lautenberg is, for instance, one of the senators farthest to the left on the Senate spectrum. Does this mean he is the most liberal? Maybe. All this tells us is that his record of bill sponsorship and cosponsorship is most different from, e.g., Senator DeMint's.
Bearing in mind that I'm not a statistics expert, here's a slightly longer story for how the graphs are generated. I create a matrix with the columns representing bills and the rows representing congressmen. In each cell of the matrix I put a 1 if the representative for that row sponsored/cosponsored the bill for that column, otherwise a 0. Only bills with at least 10 sponsors/cosponsors and with a companion bill in the other chamber were considered. Then I feed the matrix into a mathematical operation called Singular Value Decomposition, and that process sends back coordinates for each representative. The coordinates are such that representatives who have similar patterns of sponsoring bills have nearby coordinates. (It's a bit more complicated than that of course.)
It turns out that much of how representatives sponsor/cosposor bills can be reduced to putting them on two axes. (And when I say 'much' I mean that very nonscientifically.) It happens that the second most informative axis, based on this method, is very correlated with the political leanings of the representatives. That's the axis I plotted in the graph above. The mathematical process didn't know about political leanings, but it determined that if it assigned some number to each representative, which we as humans know to be something related to political leaning, it would be a good gauge of what bills they sponsor.
The first most informative axis is another story. It appears to be related to the raw number of cosponsors on invidual bills, which isn't very politically interesting. The third most informative axis separates representatives from senators. The remaining axes do not contribute as much to explaining sponsorship patterns and none of the remaining ones stand out from the rest.
Other people (mainly people who know more about this than I do) have done similar analyses. See Analyses of Recent American Politics, Keith T. Poole
and Data Mining in Politics, Aleks Jakulin
Here are some caveats. It's not too fair to compare the position of a senator to the position of a representative. While they're aligned by bills that have had identical forms in both chambers, senators see far fewer bills than representatives, so their sponsorship patterns are inherently different. Also, the location of any particular congressman isn't very precise. It's just a good overall picture. Lastly, I chose to orient the graph so that the Democrats are on the left. The analysis itself was completely ignorant about the party membership of the congressmen, as well as about the content or nature of the legislation involved in the analysis.
Even though it's alphabetical, it took me a while to find Wisconsin Rep. Paul Ryan, for instance.