Changeset - e4ec01c311f1
[Not reviewed]
Dennis Fink - 9 years ago 2016-03-01 19:12:29
dennis.fink@c3l.lu
Added more colors to worldmap
1 file changed with 16 insertions and 6 deletions:
0 comments (0 inline, 0 general)
ennstatus/static/js/worldmap.js
Show inline comments
 
@@ -53,54 +53,64 @@ function setup(width, height) {
 
d3.json("/static/data/world-topo-min.json", function(error, world) {
 
	var countries = topojson.feature(world, world.objects.countries).features;
 

	
 
	topo = countries;
 
	draw(topo);
 
});
 

	
 
function draw(topo) {
 

	
 
	svg.append("path")
 
		.datum(graticule)
 
		.attr("class", "graticule")
 
		.attr("d", path);
 

	
 
	g.append("path")
 
		.datum({type: "LineString", coordinates: [[-180, 0], [-90, 0], [0, 0], [90, 0], [180, 0]]})
 
		.attr("class", "equator")
 
		.attr("d", path);
 

	
 
	var country = g.selectAll(".country").data(topo);
 
	d3.json("/data/worldmap", function(err, data) {
 

	
 

	
 
		var colorscale = d3.scale.threshold().domain(d3.range(1, data.max+1)).range([
 
				"#f2f0f7",
 
				"#dadaeb",
 
				"#bcbddc",
 
				"#9e9ac8",
 
				"#756bb1",
 
				"#54278f"
 
			"#c0c2e6",
 
			"#b2b5e0",
 
			"#a4a7da",
 
			"#969ad5",
 
			"#888ccf",
 
			"#7a7fca",
 
			"#6c71c4",
 
			"#5e63be",
 
			"#5056b9",
 
			"#464caf",
 
			"#4146a1",
 
			"#3b4093",
 
			"#353a85",
 
			"#303477",
 
			"#2a2e69",
 
			"#25285b"
 
		])
 

	
 
		country.enter().insert("path")
 
			.attr("class", "country")
 
			.attr("d", path)
 
			.attr("id", function(d, i) { return d.id; })
 
			.style("fill", function(d, i) { 
 
				if (d.properties.name in data) {
 
					return colorscale(data[d.properties.name]['total']);
 
				} else {
 
					return "#fdf6e3";
 
				}
 
			});
 

	
 
		var tooltip = d3.select('#chart').append('div')
 
			.attr('class', 'tooltip')
 

	
 
		country.on("mousemove", function(d, i) {
 
	
 
			var mouse = d3.mouse(svg.node()).map(function(d) { return parseInt(d); });
 

	
 
			tooltip.classed("hidden", false)
 
				.attr("style", "left:"+(mouse[0]+40)+"px;top:"+mouse[1]+"px")
 
				.html(function() {
0 comments (0 inline, 0 general)