Juan Carlos Borrás


Balance of Powers after the local elections (Helsinki, Kuntavaalit 2012)

Now that votes have been counted don't you wonder how the newly elected city council of the city of Helsinki is going to look like using the techniques described in the post on visualization of political views?. Well, here it is: the plot of the elected candidates by view on local policy issues (open the image in a new browser tab if you want it larger):

Views of elected candidates (Helsinki,2012)

There are a few patterns that can be seen in the graph:

One is tempted to qualify representatives placed well outside their party clusters as political strategies to harvest votes outside the parties perceived areas of sympathy or influence. Sensible if you think how the seat allocation works in Finnish local elections. Anyway that's an exercise away from this attempt to map political views in a simple static graph.

The avg string that you see on the graph represents its center of mass. That is, it is laid on the average location of all points on the graph. That does not mean that all new regulation is going to be as if written by an elected representative with local political view on that particular spot (given many norms to be agreed I suspect political bargaining may place the results close to one's opponent basket in exchange of some other being laid close to my basket) but I felt compelled to put it there.

Interestingly enough the center of mass is located in the middle of a void, in the center of a sea of nothing.

For the record: only one elected representative did not participate in Vaalikone and therefore it is not represented in the graphs above. That is a little bit above 1% over all the elected representatives in the city council (98 if I count correctly). The proportion of all candidates that did not take part in Vaalikone is rougly 10% if I recall right. Correlation does not imply causality but IMHO if you plan to run as a candidate next time you better take it well into consideration.

For completion sake I will include the R code used to produce the graph above. You will need the definitions of the data structures and the functions used described in the previous post in order to run the snippet below:

elected.ones <- c(8, 70, 89, 38, 16, 63, 103, 74, 123, 280, 247, 181, 233, 170, 
    173, 261, 187, 199, 208, 231, 278, 257, 168, 254, 207, 235, 252, 178, 222, 
    243, 237, 253, 316, 391, 376, 453, 458, 435, 478, 473, 375, 475, 454, 495, 
    404, 408, 445, 484, 575, 560, 548, 510, 573, 605, 671, 678, 611, 610, 651, 
    622, 624, 726, 770, 836, 869, 843, 1015, 937, 1012, 923, 1021, 954, 998, 
    952, 959, 920, 960, 1005, 933, 1018, 992, 997, 939, 943, 929)
Xcity <- subset(X, Number %in% elected.ones & Qtype == "Local Issues")
pp <- ggplot(Xcity, aes(V1, V2, fill = Party, colour = Party, shape = Party)) + 
  facet_grid(. ~ Qtype)
pp <- pp + geom_point(alpha = 1, size = 5)
pp <- pp + scale_colour_manual(values = parties.colormap[Xcity$Party])
pp <- pp + scale_shape_manual(values = parties.shapes[Xcity$Party])
pp <- pp + scale_x_continuous(name = "First component") + 
  scale_y_continuous(name = "Second component")
pp <- pp + labs(title = "Two dimensional projection of elected candidates profiles")
pp + geom_text(x = mean(Xcity$V1), y = mean(Xcity$V2), label = "avg", 
  color = "#000000ff", size = 8)