Ties. For each pair of senators in a Congress, tie strength is the
percentage of roll calls where both voted and both voted the same way. Voteview
cast codes 1–3 count as yea and 4–6 as nay; present and not-voting are
dropped pairwise. Pairs sharing fewer than 25 votes are dropped, as are senators
casting fewer than 40 votes.
Lopsided votes excluded. The Senate takes a great deal of near-unanimous
business, and every one of those votes hands an agreement to every pair including
the most opposed one. A roll call counts here only if the losing side held at least
2.5% and at least 20 senators voted. That is why scores reach the low end of the
scale; on the raw all-votes measure nobody falls below roughly 30%.
Position. Coordinates come from weighted stress majorization (SMACOF,
seeded by classical MDS) on the distance 100 − agreement, so
senators who vote alike sit close together. Each frame is orthogonally
Procrustes-aligned to the previous Congress and the scale is fixed across all 64
frames, so the animation morphs rather than tumbles and spread is comparable era to
era.
Tenure is counted in whole Congresses served, so a senator appointed
mid-term is credited with that entire Congress. Interrupted service is marked.
Vote types are a keyword classification of Voteview's own vote
descriptions. Voteview's bulk files ship no Clausen or Peltzman issue codes, so
treat the categories as approximate: omnibus bills and cloture motions genuinely
have no single topic, a vote with no usable text inherits its topic from other
votes on the same bill, and a category is hidden for a Congress with fewer than 25
qualifying roll calls. About 9% of votes stay uncategorized. Node positions never
change with this filter; only the ties do.
Colors follow the modern convention, which is an anachronism before
roughly 1980. The coalitions inside each party in 1899 or 1955 are not the ones the
colors now connote.
Colorblind-safe mode. Simulating the default palette under protanopia,
deuteranopia and tritanopia, red against blue stays far apart in all three, but red
against the independent yellow drops to a CIELAB distance of about 18 under
tritanopia, which is too close. The alternate palette (orange, blue, white) holds
every pair above 40.
Hue separation alone was not enough, and the first version of this mode got it
wrong. It left orange, blue and the cross-party tone at lightness 65.2, 65.5 and
65.8, within a point of each other. That is invisible to a simulation of full
dichromacy, which is what the palette had been checked against, but it fails anyone
with partial color discrimination or reduced contrast, and on a black background it
leaves three dots of identical brightness. The parties now sit 20 points of lightness
apart, orange at 79.3 and blue at 59.3, while both stay above a 4.5:1 contrast ratio
against the background, so party can be read from brightness with no hue judgment at
all. Dots are also drawn more solidly and the vignette is eased off in this mode,
since both were spending contrast a low-vision viewer cannot spare.
Party is additionally drawn as node shape: circle for Democrats, square for
Republicans, triangle for independents. The shapes mean the distinction survives with
no color discrimination whatsoever. Raising Dot size makes them easier to tell
apart. The choice is remembered in this browser.