html怎么绘制中国地图,利用d3.js绘制中国地图
d3.js是一个比较强的数据可视化js工具。利用它画了一幅中国地图,如下图所示:
源码如下:
var w = 1280,
h = 800;
var projection = d3.geo.azimuthal()// //mercator()
//.mode("equidistant")
//.origin([-98, 38])
//.scale(1400)
//.translate([640, 360]);
.mode("equidistant")
.origin([107, 32])///???
.scale(1000)
.translate([w/2, h/2]);
var path = d3.geo.path()
.projection(projection);
var svg = d3.select("#map").insert("svg:svg")
//.append('svg')//
.attr("width", w)
.attr("height", h);
var states = svg.append("svg:g")
.attr("id", "states");
var circles = svg.append("svg:g")
.attr("id", "circles");
var texts = svg.append("svg:g")
.attr("id", "texts");
var cells = svg.append("svg:g")
.attr("id", "cells");
d3.json("china.json", function(collection) {
states.selectAll("path")
.data(collection.features)
.enter().append("svg:path")
.attr("d", path)
.attr('fill','#ddd')
.attr('stroke','#222')
.attr('stroke-width','1px')
;
});
var positions=[];
d3.csv('china-cities.csv',function(c){
circles.selectAll("circle")
.data(c)
.enter().append("svg:circle")
.attr("cx", function(d,i){return projection([d.lon,d.lat])[0];})
.attr("cy",function(d,i){return projection([d.lon,d.lat])[1];})
.attr("r", 3)
.attr('fill','red');
texts.selectAll("text")
.data(c)
.enter().append("svg:text")
.text(function(d){return d.city;})
.attr("x", function(d){
var local=projection([d.lon,d.lat]);
if(d.lon=='113.5575191')//处理澳门
return (local[0]-30);
else return local[0];})
.attr("y",function(d){
var local=projection([d.lon,d.lat]);
if(d.lat=='39.1439299') return (local[1]+10);//处理天津
else return local[1];
})
.attr('fill','#000')
.attr('font-size','14px')
;
});
html怎么绘制中国地图,利用d3.js绘制中国地图相关推荐
- d3js mysql_使用D3.js绘制地图并打点
本篇简单介绍一下使用D3.js绘制地图,并更具经纬度在地图打点.最后根据点生成voronoi图及其三角网. 下载地图geoJson文件 去网上下载要绘制地图的geoJson文件. 使用d3.json( ...
- D3.js 制作中国地图 .net 公共基础类
D3.js 制作中国地图 from: http://d3.decembercafe.org/pages/map/index.html GeoJSON is a format for encoding ...
- D3.js绘制 颜色:RGB、HSL和插值 (V3版本)
转载地址:D3.js绘制 颜色:RGB.HSL和插值 (V3版本) 如果要计算介于两个颜色之间的颜色,需要用到插值(Interpolation).D3提供了d3.intrerpolateRgb()来处 ...
- 利用D3.js快速绘制力导向图
碎碎念: 最近课题需要基于图论和力导向图可视化每个脑电通道之间的连接性,MATLAB画的效果差强人意,于是上网搜寻到JavaScript 的一个函数库--D3.js,想快速得到数据的可视化结果 简介D ...
- 使用D3.js绘制重庆地图
重庆市地图json数据下载链接https://pan.baidu.com/s/19eZfuGGRY6JOrH9WnZJ5iw 密码h5f9 D3.js下载链接:https://pan.baidu.co ...
- D3.js绘制树形图
1.什么是D3: data-driven-document,翻译为数据驱动的文档,是一种由数据来决定绘图流程的程序设计模型.简单说,D3是一个JavaScript的函数库,用来做数据可视化(将数据的各 ...
- 利用d3.js对大数据资料进行可视化分析
insight-labs · 2013/12/19 18:18 作者: [email protected] [email protected] 0x00 背景 对于前段时间流出的QQ群数据大家想必已经 ...
- 使用d3.js绘制花瓣形饼图
1.为了简单起见,我随机定义了一组数据 const container = [200, 265, 437, 635, 570, 298]; 2.获取到body中svg的宽和高,生成居中的viewBox ...
- D3.js 绘制柱状图
使用D3 V4版本绘制 使用D3绘制柱状图,绘制效果如下: 使用D3绘制柱状图,先对需要绘制的图形拆解,主要分为以下几个部分: 1. 比例尺的定义 2. 坐标轴的绘制 3. 添加矩形 4. 修改坐标轴 ...
- D3.js 绘制带圆角的矩形 + 带箭头的指示线
目录 1. 添加带箭头的标线 2. 设置单个矩形盒子的宽高.偏移缩放效果 3. 添加 svg 元素,设置首次加载位置 4. 设置每个盒子纵横向的间距 5. 绘制矩形外层 box 6. 绘制矩形内层 b ...
最新文章
- 解决nohup: 忽略输入并把输出追加到“nohup.out“或者nohup: 忽略输入重定向错误到标准输出端
- 东软村医管理平台_软件定义汽车“性感”吗?东软睿驰有自己的答案
- linux 4.4内核是什么,Linux 内核 4.4 LTS 将于2016年1月10日发布
- AOL、WebEx共同开发新AIM即时通讯
- dotnet vs code mysql_.net 5 用vs code链接mysql体验
- 安卓开发环境搭建(转)
- CF 335B. Palindrome(DP)
- Anaconda详细安装及安装Scrapy框架
- SpringMVC学习记录--Validator验证分析
- face++算法工程实习生面试
- java 唯一id生成算法_唯一ID生成算法剖析
- (转)RabbitMQ学习之路由(java)
- java获取列族的列_在cassandra-cli中如何获取表中的所有列名以及如何在java中使用hector获取它?...
- [转载]Git安装以及使用Git 管理个人文档
- background 图片比例缩小_如何更精准控制背景图片?
- 双系统bios如何设置默认启动系统_BIOS(主板)常用功能:设置启动磁盘顺序,迁移系统必备...
- JSP九大内置对象详解
- 本科生、研究生查询框架
- qq2008珊瑚虫版SL
- php后台管理员登录密码错误,织梦后台登陆不上提示验证码不正确1.密码明明正确的,却无法登陆后台管理...