https://github.com/d3/d3

sort by:
Revision Author Date Message Commit Date
229a59c Also prevent clicks from propagating on drag. 27 April 2011, 17:23:54 UTC
9d80ac2 Merge branch 'force' 27 April 2011, 00:26:21 UTC
f19d265 Optimize initialization of node positions. 27 April 2011, 00:20:07 UTC
3502c5f Tweak force-dynamic example. 27 April 2011, 00:19:43 UTC
ce2e52a Initialize node positions based on links. This avoids excessive graph jiggling when new nodes are added to an existing layout. Rather than initializing the new node positions randomly, the new nodes are positioned to be adjacent to linked nodes. 26 April 2011, 23:53:54 UTC
f9d0d42 Tweak parameters for force example. 26 April 2011, 22:50:22 UTC
233a195 Better events for force layout. The force layout's listeners are now scoped using the "force" namespace, allowing other event listeners to be registered. In addition, the force layout now stops propagation of mouseup events when a node is moved; this allows a mouseup listener on the node to fire only when it is not moved. 26 April 2011, 22:42:06 UTC
7e5fc72 Allow `on` to be used with event capturing. 26 April 2011, 22:03:10 UTC
01124f2 Fix bug where node is removed while dragging. 26 April 2011, 21:40:21 UTC
c06e899 More uniform gravity. Gravity was getting too strong near the edges, causing bunch-up of nodes. We now use weaker exponential growth in gravitational strength, rather than linear. 26 April 2011, 21:35:46 UTC
020aaa5 Update version to 1.12.0. 25 April 2011, 05:35:59 UTC
12440fd Merge branch 'hierarchy' 25 April 2011, 05:34:47 UTC
13aafed Merge branch 'force' 25 April 2011, 05:33:56 UTC
420fed1 Use default priority of "" rather than null. Maybe this'll make IE9 happy? 25 April 2011, 05:29:36 UTC
b15a273 Merge remote branch 'Caged/master' 25 April 2011, 05:09:48 UTC
62f0364 update diagonals, use d3.functor instead of the removed d3_functor function 24 April 2011, 19:13:40 UTC
379b8ad Allow force parameters to be customized. 20 April 2011, 04:01:38 UTC
7a6f04e Cluster & tree layouts don't use `value`. These hierarchical layouts inadvertantly exposed the `value` attribute and default sort-by-value, even though they don't depend on a numeric node value to compute the layout. Additionally, the hierarchical layout would filter any nodes with nonpositive (or undefined) values, which was overly strict. Fixes #121. 20 April 2011, 03:24:19 UTC
7be9277 Don't normalize gravity. Gravity (by which I mean a spring connecting each node to the center of the layout) should not decay linearly as more nodes are added to the graph; otherwise, repulsive charge forces will overwhelm gravity. 20 April 2011, 02:18:35 UTC
83cb0f0 Fix simulation restarting. If the simulation cools and stops, we need to restart it, rather than just resetting the alpha parameter. So, it is useful to have both `resume` and `start` methods on the force layout. This commit also fixes a bug where mousedown events on draggable nodes would continue to propagate, interfering with other events (such as clicking to add a node). 20 April 2011, 01:02:19 UTC
48537d9 Don't postpone immediate timers. Previously, rescheduling an immediate timer would cause it to be postponed again by a minimum of 24ms. This is undesirable if the timer is being scheduled in response to user events, such as mousemoves, that can occur very frequently. Now we schedule an early callback once, and don't touch it if it's rescheduled. In addition, the timer loop is now smarter about switching between short and long callbacks. If there's a short delay (< 24ms) until the next timer fires, the timer will use requestAnimationFrame. For longer delays, setTimeout is used. 20 April 2011, 00:50:09 UTC
5a41c5e More efficient restart. 19 April 2011, 20:56:50 UTC
6804b1c Better force layout for dynamic graphs. You can now register the "drag" behavior on nodes multiple times, and the correct behavior will result. In addition, the gravitational force now handles coincident nodes, computing a small random force to separate the nodes rather than setting the position to NaN. To demonstrate the new support for dynamic graphs, this commit includes a fun example where you can click to add new nodes. Any existing nodes within a fixed distance to the cursor on click will be linked to the new node. 19 April 2011, 20:47:19 UTC
7abebef Better center gravity. Rather than applying gravity to the entire graph, we now apply it to individual nodes, such that disconnected nodes and subgraphs still have a tendency to drift towards the center. In addition, rather than using a standard gravitational force that drops quadratically with distance, we use a weak spring who force increases with distance. This makes the gravitational effect less noticeable near the center, and also makes the effect stronger the more the nodes drift from the center. To balance the center "gravity" with the repulsive charge force, we also normalize the strength of the gravity based on the number of nodes in the graph. 19 April 2011, 20:03:41 UTC
fd804ce Better force layout. Use Barnes-Hut criterion (a fast multipole method) for approximating repulsive charge forces between nodes. This replaces the previous approach using Floyd- Warshall to compute the graph theoretic distance between all nodes, eliminating O(n^3) initialization time. Additionally, the charge force is now O(n lg n) per iteration rather than O(n^2). Using the center of mass of the graph, apply gravitional attraction towards the graph center (based on the layout size). This encourages the graph to stay near the center rather than drifting away. 19 April 2011, 19:39:37 UTC
587b1bb Use x+y objects for quadtree points. This makes the quadtree implementation more compatible with the force layout. This change is backwards-compatible; if the points are not specified as x+y objects, they are assumed to be tuples and converted to objects. 19 April 2011, 19:19:04 UTC
43e2ccc Fix fill color for iOS. 14 April 2011, 23:53:33 UTC
f028aa0 Add bubble chart example. 14 April 2011, 21:20:07 UTC
de3d1c1 Remove examples/index.html. This is no longer needed, as Python's SimpleHTTPServer does directory listing. 14 April 2011, 06:59:15 UTC
d4e571e Replace flare.json's with symlinks. 14 April 2011, 06:58:46 UTC
47f9ced Merge branch 'release' 14 April 2011, 06:54:47 UTC
2eb4573 Merge branch 'box' into release 14 April 2011, 06:53:59 UTC
39dea01 Merge branch 'cluster' into release 14 April 2011, 06:51:29 UTC
f7521a1 Merge branch 'pack' into release 14 April 2011, 06:49:53 UTC
2c80b09 Remove blank line. 14 April 2011, 06:45:54 UTC
7f31d33 Rename private variable `clamp`. 14 April 2011, 06:44:25 UTC
4356e4f Fix some ordering issues with transitions. By default, `append` will go to the end. This could cause the center line to be rendered on top of the box rect if whiskers were removed then re-added. By using the `insert` operator, we can preserve the correct order. 14 April 2011, 06:28:04 UTC
126e625 Add d3.svg.diagonal. This is a utility for creating a Bézier curve between opposite corners of a rectangle. This is commonly used to draw smooth curves connecting parent and child nodes in a hierarchical node-link diagram. A projection may be specified which allows the curve to be transformed from polar coordinates. This commit also changes the semantics of the recently-added `links` method, such that the objects have `source` and `target` properties that match the default diagonal format. 14 April 2011, 06:13:06 UTC
8d7bd91 Add `links` methods to cluster & tree. This method can be used to generate an array of parent+child objects for a given array of nodes. This is convenient for drawing paths from parent to child in node-link diagrams. 14 April 2011, 05:41:30 UTC
60b6a3d Simplify cluster layout. The `cluster` layout is now more similar to the `tree` layout, using a separation function rather than a group property. In addition, the breadth and depth properties are replaced with x and y, respectively, and scaled according to the size of the layout. I've updated the examples to make them more consistent, as well, including the pretty Bézier curves. In a future commit I'd like to take some of the duplicate code in the examples and move that into reusable methods. 14 April 2011, 05:04:11 UTC
222629a Text transitions. You can now use the `text` operator on transitions, which has the same effect as setting the text value at the start of the transition. This is nice if you have a delayed transition, and avoids a common gotcha. This commit also simplifies the implementation of the `text` operator using the standard `textContent` property. This isn't supported on IE8-, but we could potentially add support in the future using `innerText`. 14 April 2011, 01:50:26 UTC
55ee1b8 Add test for interpolate. 14 April 2011, 01:19:31 UTC
c29d4dc Better box chart transitions. Preserving object constancy across transitions is tricky! For example, what happens if we remove the whiskers in a transition? How do we join outliers? This commit makes a few assumptions explicit: 1. The `quartiles` function must return exactly three elements. This property must be specified as a function. 2. The `whiskers` function must return exactly 2 elements, or null if no whiskers are to be displayed. This property must be specified as a function. 3. The `domain` function must return exactly 2 elements, or null if the default domain should be used. This property can be specified either as a constant or as a function. We could generalize this chart to support more than two whiskers, but it doesn't seem urgent, and it would complicate the transition if the number of whiskers changes. In a related change, the `whiskers` function does not receive a third argument containing the quartiles; instead, this is made available by the `quartiles` property on the values array (the first argument). The outliers are joined using the `Number` key function. The outlier data is now stored as indices; this allows reasonable object constancy across transitions with outliers. Similarly, the tick labels for the quartiles are whiskers are now separated, such that the whisker labels can be added or removed without spurious transition. 14 April 2011, 00:44:20 UTC
dd5b21a Fix a bug in d3.interpolateString. The regular expression wasn't being reset, so we weren't always finding numbers! 14 April 2011, 00:16:51 UTC
1266373 Fix quartile calculation. The outliers were being incorrectly excluded when computing the quartiles. I've also added a +/-1.5 IQR whiskers computation for the Morley-Michelson example, so it replicates the R plot exactly. 13 April 2011, 22:40:00 UTC
f9569c5 Minor optimisations. 13 April 2011, 22:27:52 UTC
e7d359e Optimise; and fix typo. 13 April 2011, 22:27:25 UTC
a7b3c32 Remove unused title svg:g. 13 April 2011, 22:20:16 UTC
3477764 Fix randomize button. 13 April 2011, 22:16:10 UTC
6c8cef1 Add Michelson-Morley data for box plot example. Source: R statistical project Original source: A. J. Weekes (1986) A Genstat Primer. London: Edward Arnold. 13 April 2011, 22:12:18 UTC
88eabf1 Continue renaming "boxplot" to "box". 13 April 2011, 21:33:15 UTC
0b8aa07 Rename "boxplot" to "box". 13 April 2011, 21:31:53 UTC
54756f4 Fix central dashed line. 13 April 2011, 21:29:44 UTC
d288e69 Remove `outlierSymbol` property. Circles are simpler. 13 April 2011, 21:27:25 UTC
b693e05 Make quartiles computation configurable. The `quartiles` property takes the sorted data array (excluding outliers) and returns the three quartiles. 13 April 2011, 21:21:29 UTC
9721e6f Display outliers. The symbol can be specified using the `outlierSymbol` property, which specifies the `d` attribute for an SVG path. 13 April 2011, 20:59:37 UTC
755529d Add `whiskers` property to box plot. This specifies a function that takes the sorted data array, and returns an array of datum positions that should marked with whiskers. The default implementation is to return `[0, length-1]` i.e. the minimum and maximum. Data outside of the whiskers are considered outliers, and are not included in the quartile calculation. 13 April 2011, 20:23:49 UTC
9518fec Replace `sort` property with `value`. Much more useful, as we'll always want to sort by ascending value anyway. 13 April 2011, 19:39:12 UTC
8fc521c Add function support to the `domain` property. This allows us to specify different domains across multiple box plots. Thanks Mike for the suggestion! 13 April 2011, 19:35:33 UTC
b6b39af Expose `d3_functor` as `d3.functor`. This is so it can be used in other modules such as the charts module. 13 April 2011, 19:34:13 UTC
5719f19 Make boxplot sort configurable. 13 April 2011, 19:14:29 UTC
2e8cd20 Add boxplot chart. 13 April 2011, 18:57:57 UTC
9889915 put Makefile back 12 April 2011, 02:11:44 UTC
24de130 fix my git mistake, adding d3.min.js back 12 April 2011, 02:10:27 UTC
c7c9e7f rename clamped() method to clamp() 12 April 2011, 02:09:19 UTC
2548d4f Merge branch 'master' of https://github.com/mbostock/d3 Conflicts: d3.min.js 12 April 2011, 02:02:48 UTC
776f332 More pretty Béziers. 11 April 2011, 20:52:21 UTC
0ca148d Add pretty Bézier curves. 11 April 2011, 20:22:24 UTC
c7109df Rename for readability. 11 April 2011, 19:55:27 UTC
c5c6614 Simplify pack layout. The pack layout now sorts nodes by ascending value by default. The `radius` property is removed, as the radius is always computed from the node value. The `spacing` property is also removed; it doesn't seem particularly useful. The `radius` property is renamed to `r` to match `x` and `y`. I also optimized the implementation slightly, and namespaced temporary state under the prefix `_pack_`. 11 April 2011, 19:44:17 UTC
5ef5253 Add cluster-radial to examples index. 11 April 2011, 10:25:19 UTC
6ebe9e5 Add cluster (dendogram) layout. Based on the Protovis version. The only difference is that I've dropped the `orient`, `innerRadius` and `outerRadius` properties so that the D3 version is more flexible. 11 April 2011, 10:19:59 UTC
ccfbb06 Add circle-packing layout. Based on the Protovis layout. I've kept the convention of using `size` for the width/height and `separation` for the spacing. The Protovis layout had a `size` property but this was used to compute the radius. I've left this out as I've assumed it's straightforward enough to pass in the appropriate `radius` function instead. Likewise, I think the existing hierarchy `sort` property can handle situations that `order` was intended for in the Protovis version. 11 April 2011, 09:01:11 UTC
9f71e4e Fix a bug in cardinal-closed interpolation. 11 April 2011, 06:26:35 UTC
ca3585e Move tree examples into div#chart. 11 April 2011, 01:59:41 UTC
915be32 Merge branch 'tree' 11 April 2011, 01:44:45 UTC
597443b Rotate text by 180 when upside-down. 11 April 2011, 01:37:23 UTC
f6975bb Fix prefix in private functions. 11 April 2011, 01:28:59 UTC
2603082 shorter clamp implementation suggested by mbostock 10 April 2011, 23:16:13 UTC
a5055b4 add clamped() to numeric scales 10 April 2011, 21:42:25 UTC
2c03029 Compute wrap-around separation. 10 April 2011, 20:56:34 UTC
7151746 Add tree-radial example. 10 April 2011, 20:29:32 UTC
ed1042f A tiny bit cleaner. 10 April 2011, 20:15:15 UTC
6e90143 Move temporary state to node._tree. 10 April 2011, 20:04:21 UTC
111e8e5 More readability improvements. 10 April 2011, 19:47:32 UTC
ca3c272 More readability improvements. 10 April 2011, 19:36:58 UTC
3571cc3 Rewrite `firstWalk` for readability. 10 April 2011, 19:16:26 UTC
0c88813 Generalizing tree layout. Rather than specifying an orientation, compute the layout in normalized space. In a future change, I'd also like to clean up the temporary state that is stored on tree nodes, and record dx and dy attributes per node that could be used to compute a space-filling layout. 10 April 2011, 19:07:17 UTC
dfd0ad3 Render links below nodes and labels. 10 April 2011, 17:45:51 UTC
824e176 Tree layout: remove stray @private comments. 10 April 2011, 15:25:04 UTC
f208a5b Add Reingold-Tilford tree layout. This is based on the Protovis layout; virtually no changes were needed to the code aside from handling of previous and next siblings. 10 April 2011, 15:20:51 UTC
a262ba7 Merge branch 'examples_index' of https://github.com/jasondavies/d3 into jasondavies-examples_index 09 April 2011, 21:14:10 UTC
c687cc1 Remove broken links from examples index. 09 April 2011, 21:09:09 UTC
bf180dc Fix a transition bug in bullet chart. We were computing the tick join based on the (new) format function, but doesn't produce the desired effect: the new format is applied on the old data. Thus, the wrong join occurs if, say, the value 0.5 with the new format results in "0". The correct join compares the old text content to the new format value. 09 April 2011, 20:56:28 UTC
d9d85f0 No initial transition. 09 April 2011, 20:00:38 UTC
40be541 Restructure bullet chart example. 09 April 2011, 19:38:48 UTC
3e1e4f1 Add remove test. 09 April 2011, 19:08:22 UTC
0f8c800 Add insert test. 09 April 2011, 19:05:55 UTC
05f58d3 Fix a bug in env-js re. insertBefore. 09 April 2011, 19:03:52 UTC
57f2ecf Merge branch 'bullet' 09 April 2011, 18:27:30 UTC
back to top