package.json 14.4 KB
Newer Older
Muddsair Sharif's avatar
Muddsair Sharif committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
{
  "_args": [
    [
      {
        "raw": "d3-chord@1.0.4",
        "scope": null,
        "escapedName": "d3-chord",
        "name": "d3-chord",
        "rawSpec": "1.0.4",
        "spec": "1.0.4",
        "type": "version"
      },
      "C:\\Users\\Giuliano\\worldwind\\nasaworldwind\\node\\node_modules\\d3"
    ]
  ],
  "_from": "d3-chord@1.0.4",
  "_id": "d3-chord@1.0.4",
  "_inCache": true,
  "_location": "/d3-chord",
  "_nodeVersion": "7.3.0",
  "_npmOperationalInternal": {
    "host": "packages-12-west.internal.npmjs.com",
    "tmp": "tmp/d3-chord-1.0.4.tgz_1489170070509_0.23624127125367522"
  },
  "_npmUser": {
    "name": "mbostock",
    "email": "mike@ocks.org"
  },
  "_npmVersion": "3.10.10",
  "_phantomChildren": {},
  "_requested": {
    "raw": "d3-chord@1.0.4",
    "scope": null,
    "escapedName": "d3-chord",
    "name": "d3-chord",
    "rawSpec": "1.0.4",
    "spec": "1.0.4",
    "type": "version"
  },
  "_requiredBy": [
    "/d3"
  ],
  "_resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.4.tgz",
  "_shasum": "7dec4f0ba886f713fe111c45f763414f6f74ca2c",
  "_shrinkwrap": null,
  "_spec": "d3-chord@1.0.4",
  "_where": "C:\\Users\\Giuliano\\worldwind\\nasaworldwind\\node\\node_modules\\d3",
  "author": {
    "name": "Mike Bostock",
    "url": "http://bost.ocks.org/mike"
  },
  "bugs": {
    "url": "https://github.com/d3/d3-chord/issues"
  },
  "dependencies": {
    "d3-array": "1",
    "d3-path": "1"
  },
  "description": "Visualize relationships or network flow with an aesthetically-pleasing circular layout.",
  "devDependencies": {
    "eslint": "3",
    "package-preamble": "0.0",
    "rollup": "0.41",
    "tape": "4",
    "uglify-js": "^2.8.11"
  },
  "directories": {},
  "dist": {
    "shasum": "7dec4f0ba886f713fe111c45f763414f6f74ca2c",
    "tarball": "https://registry.npmjs.org/d3-chord/-/d3-chord-1.0.4.tgz"
  },
  "gitHead": "7341594ea53679c84d56d308e14503982fd6ccfd",
  "homepage": "https://d3js.org/d3-chord/",
  "jsnext:main": "index",
  "keywords": [
    "d3",
    "d3-module",
    "chord",
    "radial",
    "network",
    "flow"
  ],
  "license": "BSD-3-Clause",
  "main": "build/d3-chord.js",
  "maintainers": [
    {
      "name": "mbostock",
      "email": "mike@ocks.org"
    }
  ],
  "module": "index",
  "name": "d3-chord",
  "optionalDependencies": {},
  "readme": "# d3-chord\n\nVisualize relationships or network flow with an aesthetically-pleasing circular layout.\n\n[<img alt=\"Chord Diagram\" src=\"https://raw.githubusercontent.com/d3/d3-chord/master/img/chord.png\" width=\"480\" height=\"480\">](http://bl.ocks.org/mbostock/4062006)\n\n## Installing\n\nIf you use NPM, `npm install d3-chord`. Otherwise, download the [latest release](https://github.com/d3/d3-chord/releases/latest). You can also load directly from [d3js.org](https://d3js.org), either as a [standalone library](https://d3js.org/d3-chord.v1.min.js) or as part of [D3 4.0](https://github.com/d3/d3). AMD, CommonJS, and vanilla environments are supported. In vanilla, a `d3` global is exported:\n\n```html\n<script src=\"https://d3js.org/d3-array.v1.min.js\"></script>\n<script src=\"https://d3js.org/d3-path.v1.min.js\"></script>\n<script src=\"https://d3js.org/d3-chord.v1.min.js\"></script>\n<script>\n\nvar chord = d3.chord();\n\n</script>\n```\n\n[Try d3-chord in your browser.](https://tonicdev.com/npm/d3-chord)\n\n## API Reference\n\n<a href=\"#chord\" name=\"chord\">#</a> d3.<b>chord</b>() [<>](https://github.com/d3/d3-chord/blob/master/src/chord.js \"Source\")\n\nConstructs a new chord layout with the default settings.\n\n<a href=\"#_chord\" name=\"_chord\">#</a> <i>chord</i>(<i>matrix</i>) [<>](https://github.com/d3/d3-chord/blob/master/src/chord.js#L19 \"Source\")\n\nComputes the chord layout for the specified square *matrix* of size *n*×*n*, where the *matrix* represents the directed flow amongst a network (a complete digraph) of *n* nodes. The given *matrix* must be an array of length *n*, where each element *matrix*[*i*] is an array of *n* numbers, where each *matrix*[*i*][*j*] represents the flow from the *i*th node in the network to the *j*th node. Each number *matrix*[*i*][*j*] must be nonnegative, though it can be zero if there is no flow from node *i* to node *j*. From the [Circos tableviewer example](http://mkweb.bcgsc.ca/circos/guide/tables/):\n\n```js\nvar matrix = [\n  [11975,  5871, 8916, 2868],\n  [ 1951, 10048, 2060, 6171],\n  [ 8010, 16145, 8090, 8045],\n  [ 1013,   990,  940, 6907]\n];\n```\n\nThe return value of *chord*(*matrix*) is an array of *chords*, where each chord represents the combined bidirectional flow between two nodes *i* and *j* (where *i* may be equal to *j*) and is an object with the following properties:\n\n* `source` - the source subgroup\n* `target` - the target subgroup\n\nEach source and target subgroup is also an object with the following properties:\n\n* `startAngle` - the start angle in radians\n* `endAngle` - the end angle in radians\n* `value` - the flow value *matrix*[*i*][*j*]\n* `index` - the node index *i*\n* `subindex` - the node index *j*\n\nThe chords are typically passed to [d3.ribbon](#ribbon) to display the network relationships. The returned array includes only chord objects for which the value *matrix*[*i*][*j*] or *matrix*[*j*][*i*] is non-zero. Furthermore, the returned array only contains unique chords: a given chord *ij* represents the bidirectional flow from *i* to *j* *and* from *j* to *i*, and does not contain a duplicate chord *ji*; *i* and *j* are chosen such that the chord’s source always represents the larger of *matrix*[*i*][*j*] and *matrix*[*j*][*i*]. In other words, *chord*.source.index equals *chord*.target.subindex, *chord*.source.subindex equals *chord*.target.index, *chord*.source.value is greater than or equal to *chord*.target.value, and *chord*.source.value is always greater than zero.\n\nThe *chords* array also defines a secondary array of length *n*, *chords*.groups, where each group represents the combined outflow for node *i*, corresponding to the elements *matrix*[*i*][0 … *n* - 1], and is an object with the following properties:\n\n* `startAngle` - the start angle in radians\n* `endAngle` - the end angle in radians\n* `value` - the total outgoing flow value for node *i*\n* `index` - the node index *i*\n\nThe groups are typically passed to [d3.arc](https://github.com/d3/d3-shape#arc) to produce a donut chart around the circumference of the chord layout.\n\n<a href=\"#chord_padAngle\" name=\"#chord_padAngle\">#</a> <i>chord</i>.<b>padAngle</b>([<i>angle</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/chord.js#L104 \"Source\")\n\nIf *angle* is specified, sets the pad angle between adjacent groups to the specified number in radians and returns this chord layout. If *angle* is not specified, returns the current pad angle, which defaults to zero.\n\n<a href=\"#chord_sortGroups\" name=\"#chord_sortGroups\">#</a> <i>chord</i>.<b>sortGroups</b>([<i>compare</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/chord.js#L108 \"Source\")\n\nIf *compare* is specified, sets the group comparator to the specified function or null and returns this chord layout. If *compare* is not specified, returns the current group comparator, which defaults to null. If the group comparator is non-null, it is used to sort the groups by their total outflow. See also [d3.ascending](https://github.com/d3/d3-array#ascending) and [d3.descending](https://github.com/d3/d3-array#descending).\n\n<a href=\"#chord_sortSubgroups\" name=\"#chord_sortSubgroups\">#</a> <i>chord</i>.<b>sortSubgroups</b>([<i>compare</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/chord.js#L112 \"Source\")\n\nIf *compare* is specified, sets the subgroup comparator to the specified function or null and returns this chord layout. If *compare* is not specified, returns the current subgroup comparator, which defaults to null. If the subgroup comparator is non-null, it is used to sort the subgroups corresponding to *matrix*[*i*][0 … *n* - 1] for a given group *i* by their total outflow. See also [d3.ascending](https://github.com/d3/d3-array#ascending) and [d3.descending](https://github.com/d3/d3-array#descending).\n\n<a href=\"#chord_sortChords\" name=\"#chord_sortChords\">#</a> <i>chord</i>.<b>sortChords</b>([<i>compare</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/chord.js#L116 \"Source\")\n\nIf *compare* is specified, sets the chord comparator to the specified function or null and returns this chord layout. If *compare* is not specified, returns the current chord comparator, which defaults to null. If the chord comparator is non-null, it is used to sort the [chords](#_chord) by their combined flow; this only affects the *z*-order of the chords. See also [d3.ascending](https://github.com/d3/d3-array#ascending) and [d3.descending](https://github.com/d3/d3-array#descending).\n\n<a href=\"#ribbon\" name=\"ribbon\">#</a> d3.<b>ribbon</b>() [<>](https://github.com/d3/d3-chord/blob/master/src/ribbon.js \"Source\")\n\nCreates a new ribbon generator with the default settings.\n\n<a href=\"#_ribbon\" name=\"_ribbon\">#</a> <i>ribbon</i>(<i>arguments…</i>) [<>](https://github.com/d3/d3-chord/blob/master/src/ribbon.js#L34 \"Source\")\n\nGenerates a ribbon for the given *arguments*. The *arguments* are arbitrary; they are simply propagated to the ribbon generator’s accessor functions along with the `this` object. For example, with the default settings, a [chord object](#_chord) expected:\n\n```js\nvar ribbon = d3.ribbon();\n\nribbon({\n  source: {startAngle: 0.7524114, endAngle: 1.1212972, radius: 240},\n  target: {startAngle: 1.8617078, endAngle: 1.9842927, radius: 240}\n}); // \"M164.0162810494058,-175.21032946354026A240,240,0,0,1,216.1595644740915,-104.28347273835429Q0,0,229.9158815306728,68.8381247563705A240,240,0,0,1,219.77316791012538,96.43523560788266Q0,0,164.0162810494058,-175.21032946354026Z\"\n```\n\nOr equivalently if the radius is instead defined as a constant:\n\n```js\nvar ribbon = d3.ribbon()\n    .radius(240);\n\nribbon({\n  source: {startAngle: 0.7524114, endAngle: 1.1212972},\n  target: {startAngle: 1.8617078, endAngle: 1.9842927}\n}); // \"M164.0162810494058,-175.21032946354026A240,240,0,0,1,216.1595644740915,-104.28347273835429Q0,0,229.9158815306728,68.8381247563705A240,240,0,0,1,219.77316791012538,96.43523560788266Q0,0,164.0162810494058,-175.21032946354026Z\"\n```\n\nIf the ribbon generator has a context, then the ribbon is rendered to this context as a sequence of path method calls and this function returns void. Otherwise, a path data string is returned.\n\n<a href=\"#ribbon_source\" name=\"ribbon_source\">#</a> <i>ribbon</i>.<b>source</b>([<i>source</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/ribbon.js#L74 \"Source\")\n\nIf *source* is specified, sets the source accessor to the specified function and returns this ribbon generator. If *source* is not specified, returns the current source accessor, which defaults to:\n\n```js\nfunction source(d) {\n  return d.source;\n}\n```\n\n<a href=\"#ribbon_target\" name=\"ribbon_target\">#</a> <i>ribbon</i>.<b>target</b>([<i>target</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/ribbon.js#L78 \"Source\")\n\nIf *target* is specified, sets the target accessor to the specified function and returns this ribbon generator. If *target* is not specified, returns the current target accessor, which defaults to:\n\n```js\nfunction target(d) {\n  return d.target;\n}\n```\n\n<a href=\"#ribbon_radius\" name=\"ribbon_radius\">#</a> <i>ribbon</i>.<b>radius</b>([<i>radius</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/ribbon.js#L62 \"Source\")\n\nIf *radius* is specified, sets the radius accessor to the specified function and returns this ribbon generator. If *radius* is not specified, returns the current radius accessor, which defaults to:\n\n```js\nfunction radius(d) {\n  return d.radius;\n}\n```\n\n<a href=\"#ribbon_startAngle\" name=\"ribbon_startAngle\">#</a> <i>ribbon</i>.<b>startAngle</b>([<i>angle</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/ribbon.js#L66 \"Source\")\n\nIf *angle* is specified, sets the start angle accessor to the specified function and returns this ribbon generator. If *angle* is not specified, returns the current start angle accessor, which defaults to:\n\n```js\nfunction startAngle(d) {\n  return d.startAngle;\n}\n```\n\nThe *angle* is specified in radians, with 0 at -*y* (12 o’clock) and positive angles proceeding clockwise.\n\n<a href=\"#ribbon_endAngle\" name=\"ribbon_endAngle\">#</a> <i>ribbon</i>.<b>endAngle</b>([<i>angle</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/ribbon.js#L70 \"Source\")\n\nIf *angle* is specified, sets the end angle accessor to the specified function and returns this ribbon generator. If *angle* is not specified, returns the current end angle accessor, which defaults to:\n\n```js\nfunction endAngle(d) {\n  return d.endAngle;\n}\n```\n\nThe *angle* is specified in radians, with 0 at -*y* (12 o’clock) and positive angles proceeding clockwise.\n\n<a href=\"#ribbon_context\" name=\"ribbon_context\">#</a> <i>ribbon</i>.<b>context</b>([<i>context</i>]) [<>](https://github.com/d3/d3-chord/blob/master/src/ribbon.js#L82 \"Source\")\n\nIf *context* is specified, sets the context and returns this ribbon generator. If *context* is not specified, returns the current context, which defaults to null. If the context is not null, then the [generated ribbon](#_ribbon) is rendered to this context as a sequence of [path method](http://www.w3.org/TR/2dcontext/#canvaspathmethods) calls. Otherwise, a [path data](http://www.w3.org/TR/SVG/paths.html#PathData) string representing the generated ribbon is returned. See also [d3-path](https://github.com/d3/d3-path).\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/d3/d3-chord.git"
  },
  "scripts": {
    "postpublish": "git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3-chord/build/d3-chord.js d3-chord.v1.js && cp ../d3-chord/build/d3-chord.min.js d3-chord.v1.min.js && git add d3-chord.v1.js d3-chord.v1.min.js && git commit -m \"d3-chord ${npm_package_version}\" && git push && cd - && zip -j build/d3-chord.zip -- LICENSE README.md build/d3-chord.js build/d3-chord.min.js",
    "prepublish": "npm run test && uglifyjs --preamble \"$(preamble)\" build/d3-chord.js -c -m -o build/d3-chord.min.js",
    "pretest": "rm -rf build && mkdir build && rollup --banner \"$(preamble)\" -g d3-array:d3,d3-path:d3 -f umd -n d3 -o build/d3-chord.js -- index.js",
    "test": "tape 'test/**/*-test.js' && eslint index.js src"
  },
  "version": "1.0.4"
}