作品简介

D3是目前流行的数据可视化工具。它是一个基于数据操作文档的JavaScript函数库,因为其优雅灵活的语言风格,生动有趣的交互功能,花哨酷炫的表现力,受到越来越多的人关注和喜爱。

《D3 API详解(全彩)》基于官方API文档,在尽量保留原文含义的基础上,对部分内容进行了删减和增补,几乎为每个函数都添加了浅显直观的案例。《D3 API详解(全彩)》涵盖了API大部分内容,包括核心函数中的选择器、过渡、数组、数学、数据请求、格式化、本地化;3类9种比例尺;D3对SVG绘图技术的封装,如SVG元素、多种路径生成器、数轴、刷子等;时间函数;12种布局,如捆、弦、树、簇、包、分区、矩形树、力、直方图、堆叠等;地理函数,如投影、流、地理路径、经纬网等;还有几何图形,像四叉树、凸包、多边形、泰森多边形等;以及交互行为中的拖动和缩放。

《D3 API详解(全彩)》适合所有想使用D3实现数据可视化方案的人使用。读者朋友可以将《D3 API详解(全彩)》作为入门参考,也可以作为速查手册。

张天旭,CSDN博客技术专家,写有D3方面专栏,累计阅读量达到17万。其博客“以数为据,视不可挡”地址为http://blog.csdn.net/tianxuzhang

作品目录

  • 前言
  • 致谢
  • 第1章 核心(Core)
  • 1.1 选择
  • 1.1.1 d3.select(selector)
  • 1.1.2 d3.select(node)
  • 1.1.3 d3.selectAll(selector)
  • 1.1.4 d3.selectAll(nodes)
  • 1.1.5 selection.attr(name[,value])
  • 1.1.6 selection.classed(name[,value])
  • 1.1.7 selection.style(name[,value[,priority]])
  • 1.1.8 selection.property(name[,value])
  • 1.1.9 selection.text([value])
  • 1.1.10 selection.html([value])
  • 1.1.11 selection.append(name)
  • 1.1.12 selection.insert(name[,before])
  • 1.1.13 selection.remove()
  • 1.1.14 selection.data([values[,key]])
  • 1.1.15 selection.enter()
  • 1.1.16 selection.exit()
  • 1.1.17 selection.filter(selector)
  • 1.1.18 selection.datum([value])
  • 1.1.19 selection.sort(comparator)
  • 1.1.20 selection.on(type[,listener[,capture]])
  • 1.1.21 d3.event
  • 1.1.22 d3.mouse(container)
  • 1.1.23 selection.transition()
  • 1.1.24 selection.select(selector)
  • 1.1.25 selection.selectAll(selector)
  • 1.1.26 selection.each(function)
  • 1.1.27 selection.call(function[,arguments…])
  • 1.1.28 selection.empty()
  • 1.1.29 selection.node()
  • 1.1.30 selection.size()
  • 1.2 过渡
  • 1.2.1 transition.delay([delay])
  • 1.2.2 transition.duration([duration])
  • 1.2.3 transition.ease([value[,arguments]])
  • 1.2.4 transition.attr(name,value)
  • 1.2.5 transition.attrTween(name,tween)
  • 1.2.6 transition.style(name,value[,priority])
  • 1.2.7 transition.styleTween(name,tween[,priority])
  • 1.2.8 transition.text(value)
  • 1.2.9 transition.tween(name,factory)
  • 1.2.10 transition.remove()
  • 1.2.11 transition.select(selector)
  • 1.2.12 transition.selectAll(selector)
  • 1.2.13 transition.filter(selector)
  • 1.2.14 transition.transition()
  • 1.2.15 transition.each([type,]listener)
  • 1.2.16 transition.call(function[,arguments…])
  • 1.2.17 transition.empty()
  • 1.2.18 transition.node()
  • 1.2.19 transition.size()
  • 1.2.20 d3.ease(type[,arguments…])
  • 1.2.21 ease(t)
  • 1.2.22 d3.timer(function[,delay[,time]])
  • 1.2.23 d3.interpolate(a,b)
  • 1.2.24 interpolate(t)
  • 1.2.25 d3.interpolateNumber(a,b)
  • 1.2.26 d3.interpolateRound(a,b)
  • 1.2.27 d3.interpolateString(a,b)
  • 1.2.28 d3.interpolateRgb(a,b)
  • 1.2.29 d3.interpolateHsl(a,b)
  • 1.2.30 d3.interpolateLab(a,b)
  • 1.2.31 d3.interpolateHcl(a,b)
  • 1.2.32 d3.interpolateArray(a,b)
  • 1.2.33 d3.interpolateObject(a,b)
  • 1.2.34 d3.interpolateTransform(a,b)
  • 1.2.35 d3.interpolateZoom(a,b)
  • 1.3 数组
  • 1.3.1 d3.ascending(a,b)
  • 1.3.2 d3.descending(a,b)
  • 1.3.3 d3.min(array[,accessor])
  • 1.3.4 d3.max(array[,accessor])
  • 1.3.5 d3.extent(array[,accessor])
  • 1.3.6 d3.sum(array[,accessor])
  • 1.3.7 d3.mean(array[,accessor])
  • 1.3.8 d3.median(array[,accessor])
  • 1.3.9 d3.quantile(numbers,p)
  • 1.3.10 d3.bisectLeft(array,x[,lo[,hi]])
  • 1.3.11 d3.bisectRight(array,x[,lo[,hi]])
  • 1.3.12 d3.bisect(array,x[,lo[,hi]])
  • 1.3.13 d3.bisector(accessor)
  • 1.3.14 d3.shuffle(array)
  • 1.3.15 d3.keys(object)
  • 1.3.16 d3.values(object)
  • 1.3.17 d3.entries(object)
  • 1.3.18 d3.map([object])
  • 1.3.19 map.has(key)
  • 1.3.20 map.get(key)
  • 1.3.21 map.set(key,value)
  • 1.3.22 map.remove(key)
  • 1.3.23 map.keys()
  • 1.3.24 map.values()
  • 1.3.25 map.entries()
  • 1.3.26 map.forEach(function)
  • 1.3.27 map.empty()
  • 1.3.28 map.size()
  • 1.3.29 d3.set([array])
  • 1.3.30 set.has(value)
  • 1.3.31 set.add(value)
  • 1.3.32 set.remove(value)
  • 1.3.33 set.values()
  • 1.3.34 set.forEach(function)
  • 1.3.35 set.empty()
  • 1.3.36 set.size()
  • 1.3.37 d3.merge(arrays)
  • 1.3.38 d3.range([start,]stop[,step])
  • 1.3.39 d3.permute(array,indexes)
  • 1.3.40 d3.zip(arrays…)
  • 1.3.41 d3.transpose(matrix)
  • 1.3.42 d3.pairs(array)
  • 1.3.43 d3.nest()
  • 1.3.44 nest.key(function)
  • 1.3.45 nest.sortKeys(comparator)
  • 1.3.46 nest.sortValues(comparator)
  • 1.3.47 nest.rollup(function)
  • 1.3.48 nest.map(array[,mapType])
  • 1.3.49 nest.entries(array)
  • 1.4 数学
  • 1.4.1 d3.random.normal([mean,[deviation]])
  • 1.4.2 d3.random.logNormal([mean,[deviation]])
  • 1.4.3 d3.random.bates(count)
  • 1.4.4 d3.random.irwinHall(count)
  • 1.4.5 d3.transform(string)
  • 1.4.6 transform.rotate
  • 1.4.7 transform.translate
  • 1.4.8 transform.skew
  • 1.4.9 transform.scale
  • 1.4.10 transform.toString
  • 1.5 请求
  • 1.5.1 d3.xhr(url[,mimeType][,callback])
  • 1.5.2 xhr.header(name[,value])
  • 1.5.3 xhr.mimeType([type])
  • 1.5.4 xhr.responseType(type)
  • 1.5.5 xhr.response(value)
  • 1.5.6 xhr.get([callback])
  • 1.5.7 xhr.post([data][,callback])
  • 1.5.8 xhr.send(method[,data][,callback])
  • 1.5.9 xhr.abort()
  • 1.5.10 xhr.on(type[,listener])
  • 1.5.11 d3.text(url[,mimeType][,callback])
  • 1.5.12 d3.json(url[,callback])
  • 1.5.13 d3.xml(url[,mimeType][,callback])
  • 1.5.14 d3.html(url[,callback])
  • 1.5.15 d3.csv(url[,accessor][,callback])
  • 1.5.16 d3.tsv(url[,accessor][,callback])
  • 1.6 格式化
  • 1.6.1 d3.format(specifier)
  • 1.6.2 d3.formatPrefix(value[,precision])
  • 1.6.3 d3.round(x[,n])
  • 1.6.4 d3.requote(string)
  • 1.7 本地化
  • 1.7.1 d3.locale(definition)
  • 1.7.2 locale.numberFormat(specifier)
  • 1.7.3 locale.timeFormat(specifier)
  • 1.7.4 locale.timeFormat.utc(specifier)
  • 第2章 比例尺(Scales)
  • 2.1 线性比例尺
  • 2.1.1 d3.scale.linear()
  • 2.1.2 linear(x)
  • 2.1.3 linear.invert(y)
  • 2.1.4 linear.domain([numbers])
  • 2.1.5 linear.range([values])
  • 2.1.6 linear.rangeRound(values)
  • 2.1.7 linear.interpolate([factory])
  • 2.1.8 linear.clamp([boolean])
  • 2.1.9 linear.nice([count])
  • 2.1.10 linear.ticks([count])
  • 2.1.11 linear.tickFormat(count,[format])
  • 2.1.12 linear.copy()
  • 2.2 恒等比例尺
  • 2.2.1 d3.scale.identity()
  • 2.2.2 identity.invert(x)
  • 2.2.3 identity.invert(y)
  • 2.2.4 identity.domain([numbers])
  • 2.2.5 identity.range([numbers])
  • 2.2.6 identity.ticks([count])
  • 2.2.7 identity.tickFormat(count,[format])
  • 2.2.8 identity.copy()
  • 2.3 乘方比例尺
  • 2.3.1 d3.scale.sqrt()
  • 2.3.2 d3.scale.pow()
  • 2.3.3 pow(x)
  • 2.3.4 pow.invert(y)
  • 2.3.5 pow.domain([numbers])
  • 2.3.6 pow.range([values])
  • 2.3.7 pow.rangeRound(values)
  • 2.3.8 pow.exponent([k])
  • 2.3.9 pow.interpolate([factory])
  • 2.3.10 pow.clamp([boolean])
  • 2.3.11 pow.nice([m])
  • 2.3.12 pow.ticks([count])
  • 2.3.13 pow.tickFormat([count,[format]])
  • 2.3.14 pow.copy()
  • 2.4 对数比例尺
  • 2.4.1 d3.scale.log()
  • 2.4.2 log(x)
  • 2.4.3 log.invert(y)
  • 2.4.4 log.domain([numbers])
  • 2.4.5 log.range([values])
  • 2.4.6 log.rangeRound(values)
  • 2.4.7 log.interpolate([factory])
  • 2.4.8 log.clamp([boolean])
  • 2.4.9 log.nice()
  • 2.4.10 log.ticks()
  • 2.4.11 log.tickFormat([count,[format]])
  • 2.4.12 log.copy()
  • 2.5 量化比例尺
  • 2.5.1 d3.scale.quantize()
  • 2.5.2 quantize(x)
  • 2.5.3 quantize.invertExtent(y)
  • 2.5.4 quantize.domain([numbers])
  • 2.5.5 quantize.range([values])
  • 2.5.6 quantize.copy()
  • 2.6 分位数比例尺
  • 2.6.1 d3.scale.quantile()
  • 2.6.2 quantile(x)
  • 2.6.3 quantile.invertExtent(y)
  • 2.6.4 quantile.domain([numbers])
  • 2.6.5 quantile.range([values])
  • 2.6.6 quantile.quantiles()
  • 2.6.7 quantile.copy()
  • 2.7 临界值比例尺
  • 2.7.1 d3.scale.threshold()
  • 2.7.2 threshold(x)
  • 2.7.3 threshold.invertExtent(y)
  • 2.7.4 threshold.domain([domain])
  • 2.7.5 threshold.range([values])
  • 2.7.6 threshold.copy()
  • 2.8 序数比例尺
  • 2.8.1 d3.scale.ordinal()
  • 2.8.2 ordinal(x)
  • 2.8.3 ordinal.domain([values])
  • 2.8.4 ordinal.range([values])
  • 2.8.5 ordinal.rangePoints(interval[,padding])
  • 2.8.6 ordinal.rangeBands(interval[,padding[,outerPadding]])
  • 2.8.7 ordinal.rangeRoundBands(interval[,padding[,outerPadding]])
  • 2.8.8 ordinal.rangeBand()
  • 2.8.9 ordinal.rangeExtent()
  • 2.8.10 ordinal.copy()
  • 2.8.11 d3.scale.category10()
  • 2.8.12 d3.scale.category20()
  • 2.8.13 d3.scale.category20b()
  • 2.8.14 d3.scale.category20c()
  • 2.9 时间比例尺
  • 2.9.1 d3.time.scale()
  • 2.9.2 d3.time.scale.utc()
  • 2.9.3 scale(x)
  • 2.9.4 scale.invert(y)
  • 2.9.5 scale.domain([dates])
  • 2.9.6 scale.nice([interval[,step]])
  • 2.9.7 scale.nice([count])
  • 2.9.8 scale.range([values])
  • 2.9.9 scale.rangeRound([values])
  • 2.9.10 scale.interpolate([factory])
  • 2.9.11 scale.clamp([boolean])
  • 2.9.12 scale.ticks([interval[,step]])
  • 2.9.13 scale.ticks([count])
  • 2.9.14 scale.copy()
  • 第3章 可缩放矢量图形(SVG)
  • 3.1 SVG元素
  • 3.1.1 svg:rectx="0"y="0"width="0"height="0"rx="0"ry="0"
  • 3.1.2 svg:circlecx="0"cy="0"r="0"
  • 3.1.3 svg:ellipsecx="0"cy="0"rx="0"ry="0"
  • 3.1.4 svg:linex1="0"y1="0"x2="0"y2="0"
  • 3.1.5 svg:polylinepoints=""
  • 3.1.6 svg:polygonpoints=""
  • 3.1.7 svg:textx="0"y="0"dx="0"dy="0"text-anchor="start"
  • 3.1.8 svg:pathd=""transform=""
  • 3.2 线生成器
  • 3.2.1 d3.svg.line()
  • 3.2.2 line(data)
  • 3.2.3 line.x([x])和line.y([y])
  • 3.2.4 line.interpolate([interpolate])
  • 3.2.5 line.tension([tension])
  • 3.2.6 line.defined([defined])
  • 3.3 径向线生成器
  • 3.3.1 d3.svg.line.radial()
  • 3.3.2 line(data)
  • 3.3.3 line.radius([radius])
  • 3.3.4 line.angle([angle])
  • 3.3.5 line.interpolate([interpolate])
  • 3.3.6 line.tension([tension])
  • 3.3.7 line.defined([defined])
  • 3.4 面积生成器
  • 3.4.1 d3.svg.area()
  • 3.4.2 area(data)
  • 3.4.3 area.x([x])
  • 3.4.4 area.y0([y0])
  • 3.4.5 area.y1([y1])
  • 3.4.6 area.y,area.x0,area.x1
  • 3.4.7 area.interpolate([interpolate])
  • 3.4.8 area.tension([tension])
  • 3.4.9 area.defined([defined])
  • 3.5 径向面积生成器
  • 3.5.1 d3.svg.area.radial()
  • 3.5.2 area(data)
  • 3.5.3 area.outerRadius([radius])
  • 3.5.4 area.innerRadius([radius])
  • 3.5.5 area.angle([angle])
  • 3.6 弧生成器
  • 3.6.1 d3.svg.arc()
  • 3.6.2 arc(datum[,index])
  • 3.6.3 arc.innerRadius([radius])
  • 3.6.4 arc.outerRadius([radius])
  • 3.6.5 arc.startAngle([angle])
  • 3.6.6 arc.endAngle([angle])
  • 3.6.7 arc.centroid(arguments…)
  • 3.7 符号生成器
  • 3.7.1 d3.svg.symbol()
  • 3.7.2 symbol.type([type])
  • 3.7.3 symbol.size([size])
  • 3.7.4 d3.svg.symbolTypes
  • 3.8 弦生成器
  • 3.8.1 d3.svg.chord()
  • 3.8.2 chord(datum[,index])
  • 3.8.3 chord.source([source])
  • 3.8.4 chord.target([target])
  • 3.8.5 chord.startAngle([angle])
  • 3.8.6 chord.endAngle([angle])
  • 3.8.7 chord.radius([radius])
  • 3.9 对角线生成器
  • 3.9.1 d3.svg.diagonal()
  • 3.9.2 diagonal(datum[,index])
  • 3.9.3 diagonal.source([source])
  • 3.9.4 diagonal.target([target])
  • 3.9.5 diagonal.projection([projection])
  • 3.9.6 d3.svg.diagonal.radial()
  • 3.10 轴
  • 3.10.1 d3.svg.axis()
  • 3.10.2 axis(selection)
  • 3.10.3 axis.scale([scale])
  • 3.10.4 axis.orient([orientation])
  • 3.10.5 axis.ticks([arguments…])
  • 3.10.6 axis.tickValues([values])
  • 3.10.7 axis.tickSize([inner,outer])
  • 3.10.8 axis.innerTickSize([size])
  • 3.10.9 axis.outerTickSize([size])
  • 3.10.10 axis.tickPadding([padding])
  • 3.10.11 axis.tickFormat([format])
  • 3.11 刷子
  • 3.11.1 d3.svg.brush()
  • 3.11.2 brush(selection)
  • 3.11.3 brush.x([scale])
  • 3.11.4 brush.y([scale])
  • 3.11.5 brush.extent([values])
  • 3.11.6 brush.clamp([clamp])
  • 3.11.7 brush.clear()
  • 3.11.8 brush.empty()
  • 3.11.9 brush.on(type[,listener])
  • 第4章 时间(Time)
  • 4.1 时间格式
  • 4.1.1 d3.time.format(specifier)
  • 4.1.2 format(date)
  • 4.1.3 format.parse(string)
  • 4.1.4 d3.time.format.multi(formats)
  • 4.1.5 d3.time.format.utc(specifier)
  • 4.1.6 d3.time.format.iso
  • 4.2 时间间隔
  • 4.2.1 d3.time.interval
  • 4.2.2 interval(date)
  • 4.2.3 interval.floor(date)
  • 4.2.4 interval.round(date)
  • 4.2.5 interval.ceil(date)
  • 4.2.6 interval.range(start,stop[,step])
  • 4.2.7 interval.offset(date,step)
  • 4.2.8 interval.utc
  • 4.3 计数
  • 第5章 布局(Layouts)
  • 5.1 捆绑布局
  • 5.1.1 d3.layout.bundle()
  • 5.1.2 bundle(links)
  • 5.2 弦布局
  • 5.2.1 d3.layout.chord()
  • 5.2.2 chord.matrix([matrix])
  • 5.2.3 chord.padding([padding])
  • 5.2.4 chord.sortGroups([comparator])
  • 5.2.5 chord.sortSubgroups([comparator])
  • 5.2.6 chord.sortChords([comparator])
  • 5.2.7 chord.chords()
  • 5.2.8 chord.groups()
  • 5.3 簇布局
  • 5.3.1 d3.layout.cluster()
  • 5.3.2 cluster(root)
  • 5.3.3 cluster.nodes(root)
  • 5.3.4 cluster.links(nodes)
  • 5.3.5 cluster.children([children])
  • 5.3.6 cluster.sort([comparator])
  • 5.3.7 cluster.separation([separation])
  • 5.3.8 cluster.size([size])
  • 5.3.9 cluster.nodeSize([nodeSize])
  • 5.4 力布局
  • 5.4.1 d3.layout.force()
  • 5.4.2 force.size([size])
  • 5.4.3 force.linkDistance([distance])
  • 5.4.4 force.linkStrength([strength])
  • 5.4.5 force.friction([friction])
  • 5.4.6 force.charge([charge])
  • 5.4.7 force.chargeDistance([distance])
  • 5.4.8 force.theta([theta])
  • 5.4.9 force.gravity([gravity])
  • 5.4.10 force.nodes([nodes])
  • 5.4.11 force.links([links])
  • 5.4.12 force.start()
  • 5.4.13 force.alpha([value])
  • 5.4.14 force.resume()
  • 5.4.15 force.stop()
  • 5.4.16 force.tick()
  • 5.4.17 force.on(type,listener)
  • 5.4.18 force.drag()
  • 5.5 层次布局
  • 5.6 直方图布局
  • 5.6.1 d3.layout.histogram()
  • 5.6.2 histogram(values[,index])
  • 5.6.3 histogram.value([accessor])
  • 5.6.4 histogram.range([range])
  • 5.6.5 histogram.bins()
  • 5.6.6 histogram.bins(count)
  • 5.6.7 histogram.bins(thresholds)
  • 5.6.8 histogram.bins(function)
  • 5.6.9 histogram.frequency([frequency])
  • 5.7 包布局
  • 5.7.1 d3.layout.pack()
  • 5.7.2 pack(root)
  • 5.7.3 pack.nodes(root)
  • 5.7.4 pack.links(nodes)
  • 5.7.5 pack.children([children])
  • 5.7.6 pack.sort([comparator])
  • 5.7.7 pack.value([value])
  • 5.7.8 pack.size([size])
  • 5.7.9 pack.radius([radius])
  • 5.7.10 pack.padding([padding])
  • 5.8 分区布局
  • 5.8.1 d3.layout.partition()
  • 5.8.2 partition(root)
  • 5.8.3 partition.nodes(root)
  • 5.8.4 partition.links(nodes)
  • 5.8.5 partition.children([children])
  • 5.8.6 partition.sort([comparator])
  • 5.8.7 partition.value([value])
  • 5.8.8 partition.size([size])
  • 5.9 饼布局
  • 5.9.1 d3.layout.pie()
  • 5.9.2 pie(values[,index])
  • 5.9.3 pie.value([accessor])
  • 5.9.4 pie.sort([comparator])
  • 5.9.5 pie.startAngle([angle])
  • 5.9.6 pie.endAngle([angle])
  • 5.10 堆叠布局
  • 5.10.1 d3.layout.stack()
  • 5.10.2 stack(layers[,index])
  • 5.10.3 stack.values([accessor])
  • 5.10.4 stack.offset([offset])
  • 5.10.5 stack.order([order])
  • 5.10.6 stack.y([accessor])
  • 5.10.7 stack.out([setter])
  • 5.11 树布局
  • 5.11.1 d3.layout.tree()
  • 5.11.2 tree(root)
  • 5.11.3 tree.nodes(root)
  • 5.11.4 tree.links(nodes)
  • 5.11.5 tree.children([children])
  • 5.11.6 tree.separation([separation])
  • 5.11.7 tree.size([size])
  • 5.11.8 tree.nodeSize([nodeSize])
  • 5.11.9 tree.sort([comparator])
  • 5.12 矩形树布局
  • 5.12.1 d3.layout.treemap()
  • 5.12.2 treemap(root)
  • 5.12.3 treemap.nodes(root)
  • 5.12.4 treemap.links(nodes)
  • 5.12.5 treemap.children([children])
  • 5.12.6 treemap.sort([comparator])
  • 5.12.7 treemap.value([value])
  • 5.12.8 treemap.size([size])
  • 5.12.9 treemap.padding([padding])
  • 5.12.10 treemap.round([round])
  • 5.12.11 treemap.sticky([sticky])
  • 5.12.12 treemap.mode([mode])
  • 第6章 地理(Geo)
  • 6.1 地理路径
  • 6.1.1 d3.geo.path()
  • 6.1.2 path(feature[,index])
  • 6.1.3 path.projection([projection])
  • 6.1.4 path.context([context])
  • 6.1.5 path.centroid(feature)
  • 6.1.6 path.area(feature)
  • 6.1.7 path.bounds(feature)
  • 6.2 经纬网生成器
  • 6.2.1 d3.geo.graticule
  • 6.2.2 graticule()
  • 6.2.3 graticule.lines()
  • 6.2.4 graticule.outline()
  • 6.2.5 graticule.extent(extent)
  • 6.2.6 graticule.majorExtent(extent)
  • 6.2.7 graticule.minorExtent(extent)
  • 6.2.8 graticule.step(step)
  • 6.2.9 graticule.majorStep(step)
  • 6.2.10 graticule.minorStep(step)
  • 6.3 球面数学运算
  • 6.3.1 d3.geo.area(feature)
  • 6.3.2 d3.geo.centroid(feature)
  • 6.3.3 d3.geo.bounds(feature)
  • 6.3.4 d3.geo.distance(a,b)
  • 6.3.5 d3.geo.length(feature)
  • 6.3.6 d3.geo.interpolate(a,b)
  • 6.4 标准抽象投影
  • 6.4.1 d3.geo.projection(raw)
  • 6.4.2 projection(location)
  • 6.4.3 projection.invert(point)
  • 6.4.4 projection.rotate([rotation])
  • 6.4.5 projection.center([location])
  • 6.4.6 projection.translate([point])
  • 6.4.7 projection.scale([scale])
  • 6.4.8 projection.clipAngle(angle)
  • 6.4.9 projection.clipExtent(extent)
  • 6.5 标准投影
  • 6.5.1 d3.geo.azimuthalEqualArea()
  • 6.5.2 d3.geo.azimuthalEquidistant()
  • 6.5.3 d3.geo.conicConformal()
  • 6.5.4 conicConformal.parallels([parallels])
  • 6.5.5 d3.geo.conicEqualArea()
  • 6.5.6 conicEqualArea.parallels([parallels])
  • 6.5.7 d3.geo.conicEquidistant()
  • 6.5.8 conicEquidistant.parallels([parallels])
  • 6.5.9 d3.geo.equirectangular()
  • 6.5.10 d3.geo.gnomonic()
  • 6.5.11 d3.geo.mercator()
  • 6.5.12 d3.geo.orthographic()
  • 6.5.13 d3.geo.stereographic()
  • 6.5.14 d3.geo.transverseMercator()
  • 6.6 流
  • 6.6.1 d3.geo.stream(object,listener)
  • 6.6.2 listener.point(x,y[,z])
  • 6.6.3 listener.lineStart()
  • 6.6.4 listener.lineEnd()
  • 6.6.5 listener.polygonStart()
  • 6.6.6 listener.polygonEnd()
  • 6.6.7 listener.sphere()
  • 6.6.8 d3.geo.transform(methods)
  • 6.6.9 transform.stream(listener)
  • 6.6.10 d3.geo.clipExtent()
  • 6.6.11 clipExtent.extent([extent])
  • 第7章 几何(Geometry)
  • 7.1 四叉树
  • 7.1.1 d3.geom.quadtree()
  • 7.1.2 quadtree(points)
  • 7.1.3 root.add(point)
  • 7.1.4 root.visit(callback)
  • 7.1.5 quadtree.x([x])
  • 7.1.6 quadtree.y([y])
  • 7.2 凸包
  • 7.2.1 d3.geom.hull()
  • 7.2.2 hull(vertices)
  • 7.2.3 hull.x([x])
  • 7.2.4 hull.y([y])
  • 7.3 多边形
  • 7.3.1 d3.geom.polygon(vertices)
  • 7.3.2 polygon.area()
  • 7.3.3 polygon.centroid()
  • 7.3.4 polygon.clip(subject)
  • 7.4 泰森多边形
  • 7.4.1 d3.geom.voronoi()
  • 7.4.2 voronoi(data)
  • 7.4.3 voronoi.x([x])
  • 7.4.4 voronoi.y([y])
  • 7.4.5 voronoi.clipExtent([extent])
  • 7.4.6 voronoi.links(data)
  • 7.4.7 voronoi.triangles(data)
  • 第8章 行为(Behaviors)
  • 8.1 拖曳
  • 8.1.1 d3.behavior.drag()
  • 8.1.2 drag.on(type[,listener])
  • 8.1.3 drag.origin([origin])
  • 8.2 缩放
  • 8.2.1 d3.behavior.zoom()
  • 8.2.2 zoom(selection)
  • 8.2.3 zoom.translate([translate])
  • 8.2.4 zoom.scale([scale])
  • 8.2.5 zoom.scaleExtent([extent])
  • 8.2.6 zoom.center([center])
  • 8.2.7 zoom.size([size])
  • 8.2.8 zoom.x([x])
  • 8.2.9 zoom.y([y])
  • 8.2.10 zoom.on(type,listener)
  • 本书参考资料
展开全部