{ "_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[\"Chord](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\n\n\n\n```\n\n[Try d3-chord in your browser.](https://tonicdev.com/npm/d3-chord)\n\n## API Reference\n\n# d3.chord() [<>](https://github.com/d3/d3-chord/blob/master/src/chord.js \"Source\")\n\nConstructs a new chord layout with the default settings.\n\n# chord(matrix) [<>](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# chord.padAngle([angle]) [<>](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# chord.sortGroups([compare]) [<>](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# chord.sortSubgroups([compare]) [<>](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# chord.sortChords([compare]) [<>](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# d3.ribbon() [<>](https://github.com/d3/d3-chord/blob/master/src/ribbon.js \"Source\")\n\nCreates a new ribbon generator with the default settings.\n\n# ribbon(arguments…) [<>](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# ribbon.source([source]) [<>](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# ribbon.target([target]) [<>](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# ribbon.radius([radius]) [<>](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# ribbon.startAngle([angle]) [<>](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# ribbon.endAngle([angle]) [<>](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# ribbon.context([context]) [<>](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" }