forked from ginseng666's block: Slope Chart: Election Results, Lower Austria, 1995 vs. 2015
forked from heillygalvez's block: Slope Chart
forked from dldx's block: Slope Chart
license: mit |
forked from ginseng666's block: Slope Chart: Election Results, Lower Austria, 1995 vs. 2015
forked from heillygalvez's block: Slope Chart
forked from dldx's block: Slope Chart
Model | %_cheaper_2018 | %_cheaper_2030 | alpha-3 | |
---|---|---|---|---|
Australia | 0.3719769673704415 | 0.7189746289610911 | AUS | |
China | 0.3201123473906991 | 0.9995584988962471 | CHN | |
EU | 0.20371732254924674 | 1.0 | ||
India | 0.6154842206969567 | 0.9997475632844822 | IND | |
Indonesia | 0.0 | 0.7304239323665715 | IDN | |
Japan | 0.0 | 1.0 | JPN | |
Philippines | 0.0 | 0.46 | PHL | |
Russia | 0.0 | 0.10105423768592994 | RUS | |
South Africa | 0.1273793728017523 | 0.85 | ZAF | |
South Korea | 0.0 | 0.9937535250193924 | KOR | |
Turkey | 0.0 | 1.0 | TUR | |
Ukraine | 0.0 | 1.0 | UKR | |
United States | 0.70438108128131 | 1.0 | USA | |
Vietnam | 0.0 | 0.40 | VNM |
<!DOCTYPE html> | |
<head> | |
<meta charset="UTF-8"> | |
<title>Election Results, Lower Austria, 1995 vs. 2015</title> | |
<script type="text/javascript" src="https://d3js.org/d3.v5.min.js"></script> | |
<style> | |
text { | |
font-size:10pt; | |
font-family: "Futura Md BT", sans; | |
} | |
</style> | |
</head> | |
<body> | |
<div id="switch"></div> | |
<div id="chart"></div> | |
<script type="text/javascript"> | |
var margin = {top: 50, right: 20, bottom: 50, left: 40}, | |
width = 960 - margin.left - margin.right, | |
height = 600 - margin.top - margin.bottom; | |
var svg=d3.select("#chart").append("svg").attr("width",width).attr("height",height); | |
d3.csv("data.csv").then(data => { | |
data = data.map(d => ({ | |
"Model":d.Model, | |
"2018": +d["%_cheaper_2018"]*100, | |
"2030": +d["%_cheaper_2030"]*100})) | |
var yScale = d3.scaleLinear() | |
.domain([0,100]) | |
.range([height-margin.bottom-margin.top, 0]) | |
var ordinalScale = d3.scaleOrdinal() | |
.range(d3.schemeCategory10) | |
yAxis = d3.axisRight(yScale) | |
svg.append("rect") | |
.attr("x", 200) | |
.attr("y", 50) | |
.attr("width", 500-200) | |
.attr("height", height-margin.bottom - margin.top + 25*2) | |
.style("fill", "#f9f9f9") | |
svg | |
.append("text") | |
.attr("x", 200) | |
.attr("y",45) | |
.attr("text-anchor", "start") | |
.attr("class","heading") | |
.text("2018") | |
.style("font-family", "Futura Md BT") | |
.style("font-weight", "bold"); | |
svg | |
.append("text") | |
.attr("x", 500) | |
.attr("y",45) | |
.attr("text-anchor", "end") | |
.attr("class","heading") | |
.text("2030").style("font-family", "Futura Md BT") | |
.style("font-weight", "bold") | |
svg | |
.append("text") | |
.attr("x", (width - margin.left - margin.right)/2) | |
.attr("y",0) | |
.attr("text-anchor", "middle") | |
.style("alignment-baseline", "hanging") | |
.attr("class","heading") | |
.text("% of country's total coal capacity with lower running cost than new renewables").style("font-family", "Futura Md BT") | |
.style("font-weight", "bold"); | |
group_countries = svg.append("g") | |
.attr("transform", "translate(0, 70)") | |
group_country = group_countries | |
.selectAll(".country") | |
.data(data) | |
.enter() | |
.append("g") | |
.attr("class", "country") | |
.style("fill", d => ordinalScale(d.Model)) | |
group_country | |
.append("circle") | |
.attr("r", 5) | |
.attr("cx", 200) | |
.attr("cy", d => yScale(d["2018"])) | |
group_country | |
.append("text") | |
.attr("x", 200) | |
.attr("y", d => yScale(d["2018"])) | |
.text(d => `${d["Model"]} ${d3.format(".0f")(d["2018"])}%`) | |
.attr("dx", -10) | |
.style("text-anchor", "end") | |
.style("alignment-baseline", "middle") | |
.style("font-family", "Futura Md BT"); | |
group_country | |
.append("circle") | |
.attr("cx", 500) | |
.attr("cy", d => yScale(d["2030"])) | |
.attr("r", 5) | |
group_country | |
.append("text") | |
.attr("x", 500) | |
.attr("y", d => yScale(d["2030"])) | |
.text(d => `${d3.format(".0f")(d["2030"])}% ${d["Model"]}`) | |
.attr("dx", 10) | |
.style("alignment-baseline", "middle") | |
.style("font-family", "Futura Md BT"); | |
group_country | |
.append("line") | |
.attr("x1", 200) | |
.attr("x2", 500) | |
.attr("y1", d => yScale(d["2018"])) | |
.attr("y2", d => yScale(d["2030"])) | |
.style("stroke-width", 3) | |
.style("stroke", d => ordinalScale(d.Model)) | |
}) | |
</script> | |
</body> | |
</html> |