forked from NPashaP's block: US State Map
forked from scresawn's block: US State Map
forked from wenzelmk's block: US State Map
xxxxxxxxxx
<meta charset="utf-8">
<style>
.state{
fill: none;
stroke: #a9a9a9;
stroke-width: 1;
}
.state:hover{
fill-opacity:0.5;
}
#tooltip {
position: absolute;
text-align: center;
padding: 20px;
margin: 10px;
font: 12px sans-serif;
background: lightsteelblue;
border: 1px;
border-radius: 2px;
pointer-events: none;
}
#tooltip h4{
margin:0;
font-size:14px;
}
#tooltip{
background:rgba(0,0,0,0.9);
border:1px solid grey;
border-radius:5px;
font-size:12px;
width:auto;
padding:4px;
color:white;
opacity:0;
}
#tooltip table{
table-layout:fixed;
}
#tooltip tr td{
padding:0;
margin:0;
}
#tooltip tr td:nth-child(1){
width:50px;
}
#tooltip tr td:nth-child(2){
text-align:center;
}
</style>
<body>
<div id="tooltip"></div><!-- div to hold tooltip. -->
<svg width="960" height="600" id="statesvg"></svg> <!-- svg to hold the map. -->
<script src="uStates.js"></script> <!-- creates uStates. -->
<script src="https://d3js.org/d3.v3.min.js"></script>
<script>
function tooltipHtml(n, d){ /* function to create html content string in tooltip div. */
return "<h4>"+n+"</h4><table>"+
"<tr><td>Low</td><td>"+(d.cases)+"</td></tr>"+
"<tr><td>Average</td><td>"+(d.avg)+"</td></tr>"+
"<tr><td>High</td><td>"+(d.high)+"</td></tr>"+
"</table>";
}
zika_data = [];
d3.csv("zika_2016.csv", function (data) {
data.forEach(function (d) {
//console.log(d);
zika_data.push({"state": d.state, "cases": +d.cases});
})
//console.log(zika_data);
var sampleData = []; /* Sample random data. */
zika_data.forEach(function(d){
//console.log("d:", d);
uStatePaths.forEach(function (s) {
//console.log("s:", s);
if (d.state == s.n) {
d.n = s.n;
d.d = s.d;
d.id = s.id;
}
})
//console.log(zika_data)
cases = d.cases;
sampleData.push({
n: d.n,
state: d.state,
cases: cases,
path: d.d,
color:d3.interpolate("#000000", "#ffffff")(Math.round(cases)/100)});
//console.log(d);
});
console.log("sampleData:", sampleData);
/* draw states on id #statesvg */
uStates.draw("#statesvg", sampleData, tooltipHtml);
})
d3.select(self.frameElement).style("height", "600px");
</script>
</body>
Modified http://d3js.org/d3.v3.min.js to a secure url
https://d3js.org/d3.v3.min.js