#第23回参議院議員通常選挙(2013) 比例代表結果
非拘束名簿式比例代表制(改選定数48)の結果です。
データソース -総務省 第23回参議院議員通常選挙結果調
forked from sugi2000's block: 第23回参議院議員通常選挙 比例代表
license: gpl-3.0 |
#第23回参議院議員通常選挙(2013) 比例代表結果
非拘束名簿式比例代表制(改選定数48)の結果です。
データソース -総務省 第23回参議院議員通常選挙結果調
forked from sugi2000's block: 第23回参議院議員通常選挙 比例代表
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
body { | |
font: 11px sans-serif; | |
font-weight: bold; | |
} | |
.axis path, | |
.axis line { | |
fill: none; | |
stroke: #000; | |
shape-rendering: crispEdges; | |
} | |
.y.axis text { | |
font-weight: normal; | |
} | |
.x.axis path, .x.axis line { | |
display: none; | |
} | |
form { | |
position: absolute; | |
right: 10px; | |
top: 10px; | |
} | |
</style> | |
<body> | |
<form> | |
<label><input type="radio" name="mode" value="parties">党派別得票数</label> | |
<label><input type="radio" name="mode" value="candidates" checked>名簿登載者別得票数</label> | |
<label><input type="radio" name="mode" value="winners">当選人数</label> | |
</form> | |
<script src="https://d3js.org/d3.v4.min.js"></script> | |
<script src="https://d3js.org/d3-selection-multi.v0.4.min.js"></script> | |
<script src="http://labratrevenge.com/d3-tip/javascripts/d3.tip.v0.6.3.js"></script> | |
<script> | |
var margin = {top: 20, right: 20, bottom: 30, left: 80}; | |
var width = 860; | |
var height = 550; | |
var svg = d3.select('body') | |
.append('svg') | |
.attrs({ | |
"width": width + margin.left + margin.right, | |
"height": height + margin.top + margin.bottom, | |
}) | |
.append('g') | |
.attr('transform', 'translate('+margin.left+','+margin.top+')'); | |
var x = d3.scaleBand() | |
.rangeRound([0, width]) | |
.padding(.1); | |
var y = d3.scaleLinear() | |
.rangeRound([height, 0]); | |
var color = d3.scaleOrdinal(d3.schemeCategory20.reverse()); | |
var partyColor = d3.scaleOrdinal(d3.schemeCategory10); | |
var quotient = function(d) { return d.total / d.denominator; }; | |
var xAxis = d3.axisBottom(x); | |
var yAxis = d3.axisLeft(y); | |
var partyKey = '政党'; | |
var candidateKey = '名簿登録者'; | |
var votesKey = '得票数'; | |
var partyVotes; | |
var winners; | |
var pickTimer; | |
d3.csv('result.csv', function(error, data){ | |
if (error) { throw error; } | |
data.forEach(function(d){ | |
d.party = d[partyKey]; | |
d.candidate = d[candidateKey]; | |
d.votes = +d[votesKey]; | |
}); | |
var partyData = d3.nest() | |
.key(function(d){ return d.party; }) | |
.key(function(d){ return d.candidate; }) | |
// .sortKeys(function (a, b) { return d3.descending(a['得票数'], b['得票数']); }) | |
// .rollup(function(d) { return +d[votesKey]; }) | |
.entries(data); | |
// .map(data); | |
// var domain = d3.keys(data[0]).filter(function(d){return d !== partyKey}); | |
partyData.forEach(function(d){ | |
var y0 = 0; | |
d.values.sort(function(a,b){ return b.values[0].votes - a.values[0].votes; }); | |
var candidates = d.values.map(function(v){ | |
return { | |
party: d.key, | |
name: v.key, | |
votes: v.values[0].votes, | |
y0: y0, | |
y1: y0 += v.values[0].votes, | |
}; | |
}); | |
// candidates.sort(function(a,b){ return b.votes - a.votes; }); | |
console.log(candidates); | |
d.candidates = candidates; | |
d.winners = []; | |
d.total = d3.sum(candidates, function(c){return c.votes;}); | |
d.denominator = 1; | |
}); | |
partyData.sort(function(a,b){ return b.total - a.total; }); | |
partyData.forEach(function(d){ | |
if (d.key.length > 6) { | |
d.key = d.key.substr(0, 3); | |
} | |
}); | |
x.domain(partyData.map(function(d) { return d.key; })); | |
y.domain([0, d3.max(partyData.map(function(d){return d.total;}))]); | |
console.log(data); | |
console.log(partyData); | |
// console.log(d3.entries(partyData)); | |
svg.append("g") | |
.attr("class", "x axis") | |
.attr("transform", "translate(0," + height + ")") | |
.call(xAxis); | |
svg.append("g") | |
.attr("class", "y axis") | |
.call(yAxis) | |
.append("text") | |
.attr("x", "-2em") | |
.attr("y", y(y.ticks(10).pop())) | |
.attr("dy", "-2em") | |
.attr("text-anchor", "end") | |
.attr("fill", "#000") | |
.text(votesKey); | |
var g = svg.selectAll('.party') | |
.data(partyData) | |
.enter() | |
.append('g') | |
.attrs({ | |
class: function(d){ return 'party ' + d.key; }, | |
transform: function(d,i) { return 'translate('+ x(d.key) +', 0)' }, | |
}); | |
g.selectAll('.votes') | |
.data(function(d){ return d.candidates; }) | |
.enter() | |
.append('rect') | |
.attrs({ | |
class: 'votes', | |
x: 0, | |
y: function(d){ return y(d.y1); }, | |
width: x.bandwidth(), | |
height: function(d){ return y(d.y0) - y(d.y1); }, | |
fill: function(d){ return color(d.name); }, | |
opacity: 1, | |
}); | |
partyVotes = g.selectAll('.party-votes') | |
.data(function(d){ return [{ | |
name: d.key, | |
total: d.total, | |
denominator: d.denominator, | |
}]; }) | |
.enter() | |
.append('rect') | |
.attrs({ | |
class: 'party-votes', | |
x: 0, | |
y: function(d){ return y(quotient(d)); }, | |
width: 0, | |
height: function(d){ return y(0) - y(quotient(d)); }, | |
fill: function(d){ return partyColor(d.name); }, | |
}); | |
}); | |
function getFirstPartyVotes() { | |
var maxVotes = 0; | |
var firstParty; | |
partyVotes.nodes().forEach(function(d){ | |
var party = d3.select(d); | |
if (quotient(party.data()[0]) > maxVotes) { | |
firstParty = party; | |
maxVotes = quotient(party.data()[0]); | |
} | |
}); | |
// console.log(firstParty, maxVotes); | |
return firstParty; | |
} | |
function pickWinner() { | |
var numWinner = d3.selectAll('.winners').nodes().length; | |
if (numWinner >= 48) { | |
return; | |
} | |
// var q = d3.queue(); | |
var firstPartyVotes = getFirstPartyVotes(); | |
var party = d3.select(firstPartyVotes.node().parentNode); | |
var data = party.data()[0]; | |
data.winners.push({ | |
name: data.key, | |
votes: quotient(data), | |
order: numWinner+1, | |
}); | |
var padding = 4; | |
var size = x.bandwidth() / 2 - padding * 2; | |
var winners = party.selectAll('.winners') | |
.data(function(d) {return d.winners; }) | |
.enter() | |
.append('circle') | |
.attrs({ | |
class: 'winners', | |
cx: function(d, i) { return padding + ((i % 2) + .5) * (size + padding); }, | |
cy: function(d, i) { return padding + (Math.floor(i / 2) + .5) * (size + padding); }, | |
r: 0, | |
stroke: '#fff', | |
'stroke-width': 2, | |
fill: function(d) { return partyColor(d.name); }, | |
}); | |
var timer = setTimeout(function(){ | |
party.selectAll('.winners-order') | |
.data(function(d) {return d.winners; }) | |
.enter() | |
.append('text') | |
.attrs({ | |
class: 'winners-order', | |
x: function(d, i) { return padding + ((i % 2)+.5) * (size + padding); }, | |
y: function(d, i) { return padding + (Math.floor(i / 2)+.6) * (size + padding); }, | |
'text-anchor': 'middle', | |
'font-weight': 'bold', | |
fill: '#fff', | |
}) | |
.text(function(d,i){return d.order;}); | |
}, 250); | |
data.denominator++; | |
partyVotes | |
.data(function(d){ return [{ | |
name: d.key, | |
total: d.total, | |
denominator: d.denominator, | |
}]; }) | |
.transition() | |
.duration(250) | |
.attrs({ | |
y: function(d){ return y(quotient(d)); }, | |
height: function(d){ return y(0) - y(quotient(d)); }, | |
}); | |
winners | |
.transition() | |
.duration(250) | |
.attrs({ | |
r: size / 2, | |
}); | |
pickTimer = setTimeout(function(){ | |
pickWinner(); | |
}, 400); | |
} | |
d3.selectAll("input").on("change", change); | |
function change() { | |
removeWinners(); | |
switch(this.value) { | |
case 'parties': | |
transitionParties(); | |
break; | |
case 'candidates': | |
transitionCandidates(); | |
break; | |
case 'winners': | |
transitionParties(); | |
setTimeout(function(){ | |
pickWinner(); | |
}, 1000); | |
break; | |
} | |
} | |
function removeWinners() { | |
clearTimeout(pickTimer); | |
d3.selectAll('.party').data().forEach(function(d){ | |
d.denominator = 1; | |
}); | |
svg.selectAll('.party').data().forEach(function(d){ | |
d.winners = []; | |
}); | |
var winners = svg.selectAll('.winners, .winners-order') | |
.data([]); | |
winners.exit().remove(); | |
} | |
function transitionParties(callback) { | |
svg.selectAll('.votes') | |
.transition() | |
.duration(1000) | |
.attrs({ | |
fill: function(d){ return d3.hsl(partyColor(d.party)).brighter(); }, | |
// fill: '#f0f0f0', | |
}); | |
// svg.selectAll('.party-votes') | |
partyVotes | |
.data(function(d){ return [{ | |
name: d.key, | |
total: d.total, | |
denominator: d.denominator, | |
}]; }) | |
.transition() | |
.duration(1000) | |
.attrs({ | |
width: x.bandwidth(), | |
y: function(d){ return y(quotient(d)); }, | |
height: function(d){ return y(0) - y(quotient(d)); }, | |
}); | |
// .call(endall, callback); | |
} | |
function transitionCandidates() { | |
removeWinners(); | |
svg.selectAll('.votes') | |
.transition() | |
.duration(1000) | |
.attrs({ | |
fill: function(d){ return color(d.name); }, | |
}); | |
svg.selectAll('.party-votes') | |
.transition() | |
.duration(1000) | |
.attrs({ | |
width: 0, | |
}); | |
} | |
function endall(transition, callback) { | |
if (!callback) callback = function(){}; | |
if (transition.size() === 0) { callback() } | |
var n = 0; | |
transition | |
.each(function() { ++n; }) | |
.each("end", function() { if (!--n) callback.apply(this, arguments); }); | |
} | |
d3.select(self.frameElement).style("height", height + margin.top + margin.bottom + "px"); | |
</script> | |
</body> | |
</html> |
政党 | 名簿登録者 | 得票数 | |
---|---|---|---|
自由民主党 | 政党名 | 14080143.000 | |
自由民主党 | つげ芳文 | 429002.906 | |
自由民主党 | 山田としお | 338485.641 | |
自由民主党 | 佐藤まさひさ | 326541.343 | |
自由民主党 | 石井みどり | 294079.739 | |
自由民主党 | 橋本聖子 | 279953.190 | |
自由民主党 | 羽生田たかし | 249818 | |
自由民主党 | 佐藤のぶあき | 215506.522 | |
自由民主党 | 赤池まさあき | 208319.530 | |
自由民主党 | 山東昭子 | 205779.472 | |
自由民主党 | えとうせいいち | 204404 | |
自由民主党 | 石田まさひろ | 201109 | |
自由民主党 | ありむら治子 | 191342 | |
自由民主党 | 宮本しゅうじ | 178480 | |
自由民主党 | 丸山和也 | 153303 | |
自由民主党 | 北村つねお | 142613 | |
自由民主党 | わたなべ美樹 | 104175.628 | |
自由民主党 | 木村よしお | 98979.184 | |
自由民主党 | 太田ふさえ | 77173 | |
自由民主党 | わかさ勝 | 76829 | |
自由民主党 | そのだ修光 | 65840 | |
自由民主党 | 大江やすひろ | 59376 | |
自由民主党 | 佐々木洋平 | 56082.962 | |
自由民主党 | きむらりゅうじ | 47627.116 | |
自由民主党 | 伊藤ようすけ | 37423.866 | |
自由民主党 | 金子ぜんじろう | 34866 | |
自由民主党 | 塚原光男 | 28902.911 | |
自由民主党 | あぜもとしょうご | 28519 | |
自由民主党 | 佐竹まさあき | 27582.194 | |
自由民主党 | 米坂ともあき | 18078 | |
民主党 | 政党名 | 4827158.000 | |
民主党 | いそざき哲史 | 271553 | |
民主党 | 浜野よしふみ | 235917.899 | |
民主党 | あいはらくみこ | 235636 | |
民主党 | 大島くすお | 191167 | |
民主党 | 神本みえ子 | 176290 | |
民主党 | 吉川さおり | 167437.432 | |
民主党 | 石上としお | 152121.783 | |
民主党 | かわいたかのり | 138830.531 | |
民主党 | 石井一 | 123355.118 | |
民主党 | さだみつ克之 | 120782 | |
民主党 | とどろき利治 | 103996 | |
民主党 | ツルネンマルテイ | 82858 | |
民主党 | かの道彦 | 82404 | |
民主党 | やなせ進 | 53940 | |
民主党 | 円より子 | 49008.634 | |
民主党 | いがらし文彦 | 29077 | |
民主党 | 吉田公一 | 27890.809 | |
民主党 | 奥村てんぞう | 27284.303 | |
民主党 | ささき隆博 | 24329.529 | |
民主党 | たるい良和 | 13178 | |
日本維新の会 | 政党名 | 5191563.306 | |
日本維新の会 | アントニオ猪木 | 356605 | |
日本維新の会 | 中山恭子 | 306341 | |
日本維新の会 | ギマ光男 | 40484.066 | |
日本維新の会 | 藤巻健史 | 33237 | |
日本維新の会 | 中野正志 | 32926 | |
日本維新の会 | むろい邦彦 | 32107 | |
日本維新の会 | 土田ひろかず | 28616 | |
日本維新の会 | おくむら慎太郎 | 27954.554 | |
日本維新の会 | 桜井よう子 | 27757.216 | |
日本維新の会 | 石井よしあき | 25986.231 | |
日本維新の会 | 浅田ますみ | 22406 | |
日本維新の会 | うえの公成 | 21457 | |
日本維新の会 | 石原結實 | 19097 | |
日本維新の会 | 松村よしやす | 18888 | |
日本維新の会 | 山崎たい | 18130.935 | |
日本維新の会 | 片岡伸子 | 16329 | |
日本維新の会 | 川口ひろし | 16079.702 | |
日本維新の会 | 宮崎ケンジ | 15464.075 | |
日本維新の会 | くりはら博 | 14274 | |
日本維新の会 | せと健一郎 | 12768 | |
日本維新の会 | 矢口けんいち | 11327 | |
日本維新の会 | 富山よしのぶ | 10186.114 | |
日本維新の会 | 石川てるひさ | 10147 | |
日本維新の会 | 伊賀やすお | 9269.133 | |
日本維新の会 | にへいふみたか | 7637 | |
日本維新の会 | 岩本壮一郎 | 7167 | |
日本維新の会 | 遠藤のぶひこ | 7061 | |
日本維新の会 | 松本こういち | 6122.171 | |
日本維新の会 | 竹内栄一 | 4991 | |
日本維新の会 | 高田きよこ | 2921 | |
公明党 | 政党名 | 3333142.000 | |
公明党 | 山本かなえ | 996959.690 | |
公明党 | 平木だいさく | 770682 | |
公明党 | かわの義博 | 703637 | |
公明党 | 山本ひろし | 592815.950 | |
公明党 | 若松かねしげ | 577951 | |
公明党 | 魚住ゆういちろう | 540817 | |
公明党 | 新妻ひでき | 26044.410 | |
公明党 | 川島信雄 | 7737.940 | |
公明党 | 鈴木充 | 4695.331 | |
公明党 | 清水定幸 | 2626 | |
公明党 | 松葉玲 | 2332.259 | |
公明党 | 宮地広助 | 2327 | |
公明党 | 雨宮秀樹 | 1831.569 | |
公明党 | 鷲岡秀明 | 1682 | |
公明党 | 深澤淳 | 1119 | |
公明党 | 窪田哲也 | 1051 | |
公明党 | 四重田雅俊 | 631 | |
みんなの党 | 政党名 | 4221422.000 | |
みんなの党 | 川田龍平 | 117389 | |
みんなの党 | 山口かずゆき | 75000 | |
みんなの党 | 渡辺みちたろう | 50253.413 | |
みんなの党 | 井上よしゆき | 47756.805 | |
みんなの党 | かわい純一 | 39425.249 | |
みんなの党 | 山本こうじ | 37718.087 | |
みんなの党 | いしい竜馬 | 35364.782 | |
みんなの党 | 本田あきこ | 32330.469 | |
みんなの党 | 梅沢しげお | 23035 | |
みんなの党 | 菅原なおとし | 21135 | |
みんなの党 | きくちふみひろ | 12676 | |
みんなの党 | 平智之 | 11927 | |
みんなの党 | 富岡ゆきお | 11305 | |
みんなの党 | こさいたろう | 10527 | |
みんなの党 | ふなびきこうこ | 7896 | |
生活の党 | 政党名 | 723987.000 | |
生活の党 | 山岡けんじ | 56372.620 | |
生活の党 | みやけ雪子 | 38766.890 | |
生活の党 | 広野ただし | 35554 | |
生活の党 | 藤原よしのぶ | 34568.833 | |
生活の党 | 東祥三 | 33146 | |
生活の党 | はたともこ | 21441.234 | |
日本共産党 | 政党名 | 4647765.693 | |
日本共産党 | 小池晃 | 134325.222 | |
日本共産党 | 山下よしき | 129149 | |
日本共産党 | 紙智子 | 68729.911 | |
日本共産党 | 井上さとし | 50874.765 | |
日本共産党 | 仁比そうへい | 39768 | |
日本共産党 | 山本陽子 | 36580.595 | |
日本共産党 | あさか由香 | 8429 | |
日本共産党 | 木村けんじ | 6595.040 | |
日本共産党 | 池内さおり | 6387.512 | |
日本共産党 | 村上信夫 | 4545.057 | |
日本共産党 | 辻源巳 | 4231 | |
日本共産党 | 大西オサム | 4087 | |
日本共産党 | こだか洋 | 3359.573 | |
日本共産党 | ニシヒラ守伸 | 2875 | |
日本共産党 | たけだ良介 | 2395 | |
日本共産党 | 江上ひろゆき | 2144 | |
日本共産党 | 井沢孝典 | 1814.089 | |
社会民主党 | 政党名 | 938227.000 | |
社会民主党 | 又市征治 | 156155 | |
社会民主党 | 山シロ博治 | 112641 | |
社会民主党 | 矢野あつ子 | 26278 | |
社会民主党 | 鴨ももよ | 21934 | |
みどりの風 | 政党名 | 319700.769 | |
みどりの風 | 谷岡くにこ | 51367 | |
みどりの風 | 山田正彦 | 44231.110 | |
みどりの風 | 井戸川かつたか | 15444 | |
新党大地 | 政党名 | 398848.000 | |
新党大地 | 鈴木宗男 | 62902.333 | |
新党大地 | 松木けんこう | 38721 | |
新党大地 | 内山あきら | 6828.266 | |
新党大地 | 橋本べん | 3643.417 | |
新党大地 | 町川じゅんこ | 3313.385 | |
新党大地 | はぎはら仁 | 2934 | |
新党大地 | ささ節子 | 2647.044 | |
新党大地 | 前川ひかる | 1834 | |
新党大地 | 田宮かいち | 1475 | |
緑の党グリーンズジャパン | 政党名 | 242460.295 | |
緑の党グリーンズジャパン | 三宅洋平 | 176970.480 | |
緑の党グリーンズジャパン | すぐろ奈緒 | 9109 | |
緑の党グリーンズジャパン | 長谷川ういこ | 7431 | |
緑の党グリーンズジャパン | 木田せつこ | 5219.945 | |
緑の党グリーンズジャパン | 大野たくお | 4577 | |
緑の党グリーンズジャパン | 木村ゆういち | 4549.357 | |
緑の党グリーンズジャパン | 田口まゆ | 3308 | |
緑の党グリーンズジャパン | しまざきなおみ | 2223 | |
緑の党グリーンズジャパン | 尾形けいこ | 2014 | |
幸福実現党 | 政党名 | 153296.000 | |
幸福実現党 | やない筆勝 | 17010 | |
幸福実現党 | トクマ | 16797 | |
幸福実現党 | いざわ一明 | 4540.622 |