基于D3JS绘制中国地图
2015-07-05 22:49
741 查看
仿照D3JS官网上的美国地图制作了一个中国版的地图.
D3JS官网上的版本:
http://bl.ocks.org/NPashaP/a74faf20b492ad377312
中国版的地图效果:
View Code
D3JS官网上的版本:
http://bl.ocks.org/NPashaP/a74faf20b492ad377312
中国版的地图效果:
<!DOCTYPE html> <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="560" height="470" id="statesvg"></svg> <!-- svg to hold the map. --> <script src="china-zh2.js"></script> <!-- creates uStates. --> <script src="d3.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.low)+"</td></tr>"+ "<tr><td>Average</td><td>"+(d.avg)+"</td></tr>"+ "<tr><td>High</td><td>"+(d.high)+"</td></tr>"+ "</table>"; } var sampleData ={}; /* Sample random data. */ ['JXI', 'LIA', 'TIB', 'NMG', 'SHH', 'CHQ', 'XIN', 'SHD', 'HEN', 'GUD', 'GUI', 'BEJ', 'MAC', 'TAJ', 'HLJ', 'HEB', 'ZHJ', 'ANH', 'GXI', 'HAI', 'JIL', 'SHX', 'HUN', 'YUN', 'FUJ', 'HUB', 'SHA', 'HKG', 'QIH', 'GAN', 'JSU', 'SCH', 'NXA', 'TAI'] .forEach(function(d){ var low=Math.round(100*Math.random()), mid=Math.round(100*Math.random()), high=Math.round(100*Math.random()); sampleData[d]={low:d3.min([low,mid,high]), high:d3.max([low,mid,high]), avg:Math.round((low+mid+high)/3), color:d3.interpolate("#ffffcc", "#800026")(low/100)}; }); /* draw states on id #statesvg */ uStates.draw("#statesvg", sampleData, tooltipHtml); </script> </body>
View Code
相关文章推荐
- javascript 获取<td>标签内的值。
- Servlet.service() for servlet jsp threw exception
- [转]在 javascript 按键事件中,按键值的对照表
- js中函数声明和函数表达式的不同
- JS 数组去重(数组元素是对象的情况)
- 做靠谱JavaScript程序员的应备素质
- ExtJS GridPanel 自动列宽的方法
- 流量计算-Jstorm提交Topology过程(下一个)
- 匿名函数和闭包--【JavaScript】
- javascript 删除数组中所有指定的值
- js实现:'w5-8' -> /^\w{5,8}$/
- JS操作iframe
- Worker 工作 后台js 工作
- 访问者行为追踪比较——Web服务器日志与JavaScript页面标记
- JS正则表达式验证数字
- JavaScript权威指南_124_第15章_脚本化文档_15.4-属性-作为Attr节点的属性
- JavaScript之XML总结
- JavaScript变量提升示例
- js lodash 'date' 'nunber' 'math' methods
- Javascript继承实现