Playing With Processing – arc() and General Election Data, 2005

Over the weekend, I thought I’d have a little bit more of a play with the data I got into shape in Data Handling in Action – Visualising UK General Election 2005 Results. One of the thing’s I’ve been pondering with in Processing is how to draw circles and arcs, so having discovered the arc() formula, I decided to have a little play with it…

[UPDATE – there maybe a minor oops or two in some of the following images… e.g. scaling (proportion of vote cast vs size of constituency may be mangled in a one of charts; and if neither of lib/lab/con won a seat, votes may still show (in order of most-least from among the big three)… But having doodled, now I know the sorts of things I want to measure and plot for doing it properly next time!;-)]

Here we have the 2005 general election results for each constituency for Labour, the Lib Dems and the Conservative party. Each concentric circle is one constituency, in alphabetical order, going from inside to out. The colours are as you might expect, the length of an arc is the percentage of the overall vote in that constituency polled by the corresponding party. The six plots show all the possible orderings…

General Election 2005

It strikes me that I assumed the origin that the arc() function takes… Maybe I should set it more deliberately (but according to what criterion?)

I also experimented with a range of plots based in equal segments, with origin axes 120 degrees apart. Visualisation folk won’t like these because the whole circle does not add up 100% of anything…

Here, each party has 120 degrees; the length of each arc is the percentage of valid votes * 120 degrees… (I think… pretty sure it’s not percentage of possible electorate!)

General election 2005

In the following case, the 120 degree angle about each party is 100% of the eligible voters; the arc length is: 120 degrees * number of votes / number of eligible voters.

faceofdemocracy2 general election 2005

If we just look at winners, the following allocates 120 degrees to the votes cast in the constituency; arcs show number of votes for winner / number of valid votes cast (err, maybe… unless it’s per size of consituency… hmmm):

General election 2005

The next chart shows the size of the majority, as a percentage of the whole circle:

General election 2005

Finally, here’s just the winning party as a whole ring:

General election 2005 - winning seats

UPDATE: and here’s a view showing the percentage votes in order (winner first, second placed candidate, then third, again from just taking into account the three main parties… and ah, I’ve maybe realised an oops for constituencies where one of the three main parties doesn’t win….maybe their votrs are showing too…?! Hmm……)

General Election 2005

If I had any more time to play on these, I’d look at ordering the circles in various different ways. But I don’t have any more time to play on this just now…

PS For more election related data, particulalry in Linked Data from, see @kitwallace’s Election nominations in the Talis Data Incubator and An exercise in RDF – 2005 Election data.

PPS see also this summary/round-up of UK media interactive swingometers

Author: Tony Hirst

I'm a Senior Lecturer at The Open University, with an interest in #opendata policy and practice, as well as general web tinkering...

One thought on “Playing With Processing – arc() and General Election Data, 2005”

Comments are closed.

%d bloggers like this: