d3.partitioin知识整理

来源:互联网 发布:剑三脸型数据怎么修改 编辑:程序博客网 时间:2024/06/06 01:04

# partition.nodes(root)

运行分区布局,将返回指定根节点 root 的相关联的节点阵列数组。分区布局是D3家族(hierarchical layouts)中的一部分。这些布局将遵循相同的基本结构:传递给布局的输入参数值是层次结构的根节点,并且输出返回值将是一个代表所有节点经过计算的位置的数组。每个节点上将拥有以下几个属性:

  • parent - 父节点,或空的根节点。
  • children - 子节点的阵列数组,或者为空的叶节点。
  • value - 该节点的值,值访问器所返回的值。
  • depth - 节点的深度(即节点的层级数),根节点为0。
  • x - 节点位置的最小x坐标。
  • y - 节点位置的最小y坐标。
  • dx - 节点位置的x范围。
  • dy - 节点位置的y范围。

虽然布局只有一个xy尺寸,但它却可以表示一个任意的坐标系;例如,你可以把X作为半径、y作为角度用以产生径向而非笛卡尔布局。在笛卡尔取向上,xydxdy分别相当于SVG矩形元素(rect)的“x”,“y”,“width”和“height”属性。在径向取向上,它们可以被用于计算弧(arc)生成器的innerRadius,startAngle,outerRadius和endAngle。笛卡尔取向可被称为冰柱树(icicle tree),而径向取向被称为旭日图(sunburst)


# partition.size([size])

如果指定的size,将通过指定的二元素数组[x,y]设置为有效布局的大小:

冰柱图:

var width = 1800, height = 2000;var partition = d3.layout.partition()    .size([width, height])    .value(function(d) { return d.size; });

旭日图:

var partition = d3.layout.partition()
    .sort(null)
    .size([2 * Math.PI, radius * radius])
    .value(function(d) { return d.size; });

0 0
原创粉丝点击