Skip to content

Instantly share code, notes, and snippets.

@dyorama
Created October 15, 2015 12:39
Show Gist options
  • Save dyorama/a8da5efb0c40b2646b5b to your computer and use it in GitHub Desktop.
Save dyorama/a8da5efb0c40b2646b5b to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Cleaning Up</title>
<script type="text/javascript" src="../d3.v3.js"></script>
<style type="text/css">
body {
background-color: white;
font-family: Helvetica, Arial, sans-serif;
}
h1 {
font-size: 45px;
margin: 0;
}
p {
font-size: 14px;
margin: 10px 0 0 0;
}
svg {
background-color: white;
}
rect:hover {
fill: red;
}
.axis path,
.axis line {
fill: none;
stroke: black;
shape-rendering: crispEdges;
}
.axis text {
font-family: sans-serif;
font-size: 11px;
}
.y.axis path,
.y.axis line {
opacity: 0;
}
</style>
</head>
<body>
<h1>Quel mois est le plus propice aux catastrophes naturelles ?</h1>
<p>Nombre d'arrêtés de catastrophes naturelles selon la date de début de l'évènement. Source: <a href="http://stats.oecd.org/Index.aspx?DataSetCode=BLI">OECD</a>, 2014</p>
<script type="text/javascript">
var w = 600;
var h = 400;
var padding = [ 20, 0, 30, 90 ]; //Top, right, bottom, left
var widthScale = d3.scale.linear()
.range([ 0, w ]);
var widthScale = d3.scale.linear()
.range([ 0, w - padding[1] - padding[3] ]);
var heightScale = d3.scale.ordinal()
.rangeRoundBands([ padding[0], h - padding[2] ], 0.1);
var xAxis = d3.svg.axis()
.scale(widthScale)
.orient("bottom")
.ticks(5);
var yAxis = d3.svg.axis()
.scale(heightScale)
.orient("left");
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height", h);
d3.csv("catanaturelles.csv", function(data) {
widthScale.domain([ 0, d3.max(data, function(d) {
return +d.catastrophes;
}) ]);
heightScale.domain(data.map(function(d) { return d.Mois; } ));
var rects = svg.selectAll("rect")
.data(data)
.enter()
.append("rect");
rects.attr("x", padding[3])
.attr("y", function(d) {
return heightScale(d.Mois);
})
.attr("width", function(d) {
return widthScale(d.catastrophes);
})
.attr("height", heightScale.rangeBand())
.attr("fill", "steelblue")
.append("title")
.text(function(d) {
return d.catastrophes;
});
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(" + padding[3] + "," + (h - padding[2]) + ")")
.call(xAxis);
svg.append("g")
.attr("class", "y axis")
.attr("transform", "translate(" + padding[3] + ",0)")
.call(yAxis);
});
</script>
</body>
</html>
Mois catastrophes
Janvier 19237
Février 5479
Mars 2337
Avril 6582
Mai 11928
Juin 8808
Juillet 13737
Août 3846
Septembre 5879
Octobre 9284
Novembre 20585
Décembre 41758
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment