49ba8af | Mike Bostock | 14 April 2014, 03:55:29 UTC | Merge branch '3.4.6' | 14 April 2014, 03:55:29 UTC |
55dc3a2 | Mike Bostock | 14 April 2014, 03:54:52 UTC | Merge branch 'mean' into 3.4.6 | 14 April 2014, 03:54:52 UTC |
c693847 | Mike Bostock | 14 April 2014, 03:54:19 UTC | Merge branch 'fix-parse-timezone' into 3.4.6 | 14 April 2014, 03:54:19 UTC |
b0c2edf | Mike Bostock | 14 April 2014, 03:53:34 UTC | Merge branch 'fix-quantile-null' into 3.4.6 | 14 April 2014, 03:53:34 UTC |
c0e84e2 | Jason Davies | 11 April 2014, 13:02:34 UTC | Optimise d3.mean. Originally we were using Welford’s algorithm, but this is primarily useful when computing the variance in a numerically stable manner, since Welford’s approach requires an incremental mean. I’ve removed a test for the mean of more than one instance of Number.MAX_VALUE as this is unlikely to occur in practice; most likely this was the reason I used Welford’s algorithm in the first place. There’s a paper [1] comparing various algorithms for computing the mean, and Welford’s is actually slightly less accurate than the naïve approach. There are some more accurate approaches but I think it’s overkill for d3.mean. [1] Youngs, Edward A., and Elliot M. Cramer. "Some results relevant to choice of sum and sum-of-product algorithms." Technometrics 13.3 (1971): 657-665. Related: #1842. | 11 April 2014, 13:09:10 UTC |
00d7183 | Mike Bostock | 10 April 2014, 23:43:16 UTC | Fix #1839 - sign of parsed timezone offset. | 10 April 2014, 23:43:16 UTC |
624f21c | Jason Davies | 10 April 2014, 21:34:40 UTC | Code formatting: fix indent. | 10 April 2014, 21:34:40 UTC |
4c9f77d | Mike Bostock | 08 April 2014, 15:03:44 UTC | The quantile scale should ignore null, too. | 08 April 2014, 15:03:44 UTC |
92c9d9d | Mike Bostock | 08 April 2014, 04:43:32 UTC | Merge branch '3.4.5' | 08 April 2014, 04:43:32 UTC |
378526d | Mike Bostock | 08 April 2014, 04:41:17 UTC | Merge remote-tracking branch 'origin/geo-empty-polygon' into 3.4.5 | 08 April 2014, 04:41:17 UTC |
253631c | Mike Bostock | 06 April 2014, 05:24:21 UTC | Run each benchmark separately. | 06 April 2014, 05:24:21 UTC |
8b32c70 | Mike Bostock | 06 April 2014, 05:05:11 UTC | Add d3.interpolateString benchmark. | 06 April 2014, 05:05:11 UTC |
500538a | Mike Bostock | 06 April 2014, 04:50:33 UTC | Only coalesce exact string matches. If there are a lot of matching numbers, it’s faster to do direct string equality comparisons than it is to coerce to a number and compare numerically. | 06 April 2014, 04:50:33 UTC |
4adb0c2 | Mike Bostock | 06 April 2014, 04:29:31 UTC | Optimize interpolateString. | 06 April 2014, 04:41:03 UTC |
a264d55 | Jason Davies | 04 April 2014, 13:29:23 UTC | Don’t generate empty polygons during clipping. Fixes #1823; spurious closePath events were being generated for degenerate polygons due to generation of empty polygons and rings in rare cases. | 04 April 2014, 13:29:23 UTC |
fa55eea | Mike Bostock | 25 March 2014, 03:45:44 UTC | Merge branch '3.4.4' | 25 March 2014, 03:45:44 UTC |
994235b | Mike Bostock | 24 March 2014, 16:02:48 UTC | Test for interpolate to null. I’m not entirely sure this is the most useful behavior, but since typeof null is "object" and +null is 0, interpolating to null is equivalent to interpolating to the number zero. | 24 March 2014, 16:02:48 UTC |
d3bbf39 | Mike Bostock | 24 March 2014, 05:57:35 UTC | Save a few bytes. | 24 March 2014, 05:57:35 UTC |
abbe1c7 | Mike Bostock | 24 March 2014, 05:46:33 UTC | Preserve tick ordering when updating axis. Fixes #1748. | 24 March 2014, 05:53:07 UTC |
b86e4e4 | Mike Bostock | 24 March 2014, 05:42:28 UTC | Getter support for transition.{delay,duration}. Fixes #1773. | 24 March 2014, 05:53:07 UTC |
28538c4 | Mike Bostock | 24 March 2014, 05:37:49 UTC | Default to suitable precision. The point of this method is to pick the right precision for you! | 24 March 2014, 05:53:07 UTC |
fe797df | Mike Bostock | 24 March 2014, 05:29:17 UTC | More standard precision interpretation. Rather than overload the meaning of precision to bias the selection of the SI prefix, always use the standard SI prefix, and use the precision in the same sense as with fixed digits: the number of digits after the decimal point. | 24 March 2014, 05:53:03 UTC |
621558c | Mike Bostock | 24 March 2014, 05:09:53 UTC | Consistent SI-prefix for small numbers. For reasons that I can’t recall, the SI-prefix behavior was different for small numbers (between -1 and 1) than it was for large numbers. This commit enforces consistent behavior, so that the coefficient is always in the range [1, 1000), like in engineering notation. For example, the old d3.format("s") would display 0.01 as "0.01", whereas the new behavior displays it as "10m". | 24 March 2014, 05:52:59 UTC |
91531cf | Mike Bostock | 24 March 2014, 04:37:34 UTC | Consistent SI-prefix for ticks. Fixes #1746. When a SI-prefix format (type "s") is passed to scale.tickFormat, compute a suitable SI-prefix based on the maximum value in the range, and then use that prefix for all ticks rather than computing the SI-prefix on a per-tick basis. | 24 March 2014, 05:52:54 UTC |
d6ca25e | Mike Bostock | 23 March 2014, 21:37:40 UTC | Fix ordinal scales with singleton domains. Fixes #1717. Turns out, -1 % 1 is 0! | 24 March 2014, 05:52:50 UTC |
f9e00b1 | Mike Bostock | 23 March 2014, 21:10:55 UTC | Listen to the touch target. This ensures that if the touch target is removed from the DOM during a zoom gesture, the zoom behavior continues to receive events; touch events, unlike other events, are always dispatched to the target of the touchstart event rather than the window. | 24 March 2014, 05:52:50 UTC |
e03b645 | Mike Bostock | 27 February 2014, 22:48:48 UTC | Better ticks for subsecond domains. Rather than starting the ticks on the minimum domain value, round up based on the step size. Fixes #1757. | 24 March 2014, 05:52:46 UTC |
d9768e5 | Darrick Brown | 04 February 2014, 19:50:09 UTC | 100% to 125% faster #rgb/#rrggbb string parsing across all platforms. Tests pass. http://jsperf.com/rgb-str-vs-regex | 24 March 2014, 05:52:42 UTC |
086de83 | Timmy Willison | 09 July 2013, 21:15:23 UTC | Shorten selectAll to just `Sizzle` | 24 March 2014, 05:52:42 UTC |
336f3af | Timmy Willison | 09 July 2013, 19:17:31 UTC | Remove redundant Sizzle.uniqueSort call | 24 March 2014, 05:52:31 UTC |
defe5bc | Mike Bostock | 23 March 2014, 00:17:04 UTC | Clamp latitude for conic conformal projection. The Lambert conic conformal projection extends to infinity along the outer edge of the projection, and thus the latitude must be clamped either at -π/2 or +π/2 depending on the parallels. Fixes #1802. | 24 March 2014, 05:52:25 UTC |
2b14807 | Mike Bostock | 20 March 2014, 18:31:20 UTC | Remove workaround for WebKit bug 44083. This was fixed in 2010, so I think it’s safe to remove the workaround now. | 24 March 2014, 05:52:19 UTC |
467f149 | Mike Bostock | 19 March 2014, 21:42:12 UTC | d3.touch defaults to changedTouches. This way, it’s easier to tell whether the touch changed during the event. This also fixes #1600 because the drag behavior now only dispatches a drag event on elements that moved, even if multiple touches are active. | 24 March 2014, 05:52:13 UTC |
3872491 | Mike Bostock | 19 March 2014, 21:00:58 UTC | Add d3.touch; fix #1786. The drag behavior no longer crashes when the element being dragged is removed from the DOM. In addition, the new d3.touch method extracts a single identified touch from the current touch event, making it more efficient during multitouch. The drag behavior now assigns touchmove and touchend listeners on the target element of the touchstart event, rather than the window. | 24 March 2014, 05:52:06 UTC |
ee23f94 | Mike Bostock | 19 March 2014, 16:58:41 UTC | Fix all touches ending on any touch ending. The drag behavior registers a touchend listener for each started touch; however, a touchend event is dispatched to ALL listeners when any touch ends, not just for the corresponding starting touch. The drag behavior must therefore detect whenever the ending touch is the corresponding starting touch, and ignore other ending touches. This fixes the drag behavior during multitouch, as discussed in #1786. | 24 March 2014, 05:51:47 UTC |
947c609 | Mike Bostock | 17 March 2014, 04:05:12 UTC | Prefer interpolateNumber when coercible to number. Objects that are coercible to numbers, such as Dates, are often more usefully interpolated as numbers rather than as objects. | 24 March 2014, 05:51:26 UTC |
90b6c0b | Mike Bostock | 07 March 2014, 04:17:03 UTC | Instead of bisectBy, replace bisector. For backwards-compatibility, bisector checks the arity of the specified function, and if the function only takes a single argument, it is wrapped with a suitable comparator. | 24 March 2014, 05:51:07 UTC |
3c7cc81 | Mike Bostock | 06 March 2014, 17:58:37 UTC | Add d3.bisectBy(comparator). Fixes #1766. Unlike d3.bisector(accessor), this allows you to define a bisector that works in reverse order. An awkward aspect of implementing bisection on top of a comparator is that it is often the case that the sorted array contains objects (e.g., rows from a TSV), while the search value is a primitive value (e.g., a number). Thus, you want to apply an accessor to the array elements but not to the search value. The solution here is to invoke the comparator deterministically: the first argument is always an element from the array, and the second argument is always the search value. This lets a comparator apply an accessor to array elements but not to search values. | 24 March 2014, 05:51:07 UTC |
adeaf20 | Mike Bostock | 24 March 2014, 03:24:32 UTC | Merge pull request #1800 from rogerbramon/ca_ES-locale Add ca-ES for localization | 24 March 2014, 03:24:32 UTC |
d3cf1ef | Mike Bostock | 22 March 2014, 14:35:26 UTC | Merge pull request #1801 from jimkang/fix-quadtree-child-tests Fix quadtree tests that check the children of a node | 22 March 2014, 14:35:26 UTC |
a2fae34 | Jim Kang | 22 March 2014, 04:50:22 UTC | Updated quadtree tests to check the `nodes` property of the node (a d3_geom_quadtreeNode) instead of treating the node as an array (which it is not) and trying to check indexes within it. e.g. `node[2]`. | 22 March 2014, 04:50:22 UTC |
17e1f96 | Roger Bramon | 21 March 2014, 21:04:36 UTC | Add ca-ES for localization | 21 March 2014, 21:04:36 UTC |
8e1ec1e | Jason Davies | 20 March 2014, 14:24:57 UTC | Fix typos in optional locale definitions. | 20 March 2014, 14:24:57 UTC |
260d144 | Jason Davies | 20 March 2014, 14:20:55 UTC | Add optional en_GB locale. Also, expose the optional zh_CN locale as d3.locale.zh_CN. | 20 March 2014, 14:20:55 UTC |
e4d5da3 | Mike Bostock | 17 March 2014, 15:10:35 UTC | Merge pull request #1781 from fabriciotav/master Add pt-BR for localization. | 17 March 2014, 15:10:35 UTC |
cc64f19 | Fabricio Tavares de Oliveira | 17 March 2014, 13:11:34 UTC | Add pt-BR for localization. Taken into account multiple locales support, and not custom build. | 17 March 2014, 13:11:34 UTC |
17b4acf | Mike Bostock | 13 March 2014, 15:07:42 UTC | Merge pull request #1775 from Alex--wu/master Add zh-CN for localization | 13 March 2014, 15:07:42 UTC |
eb40480 | Alexander WU | 13 March 2014, 13:30:06 UTC | Add zh-CN for localization | 13 March 2014, 13:30:06 UTC |
a120375 | Mike Bostock | 09 March 2014, 18:14:50 UTC | Copyright year should be a range? | 09 March 2014, 18:14:50 UTC |
a4bd167 | Mike Bostock | 27 February 2014, 15:50:18 UTC | Merge branch 'safe-sin' | 27 February 2014, 15:50:18 UTC |
bef5de7 | Jason Davies | 27 February 2014, 00:22:40 UTC | Workaround for lack of symmetry in Math.sin. Chrome 33 included some sin/cos optimisations, which unfortunately broke our assumption that sin(-x) + sin(x) = 0 for all x. More details here: https://code.google.com/p/v8/issues/detail?id=3006 This fix uses: sin(x) = sgn(x) * sin(abs(x)) and: cos(x) = cos(abs(x)) where it matters, which fixes area calculations for degenerate polygons such as: {"type":"Polygon", "coordinates":[[[-0.0002,0.0001],[0.0002,0.0001],[-0.0002,0.0001]]]} Fixes #1753. | 27 February 2014, 00:29:52 UTC |
04fa5dd | Mike Bostock | 18 February 2014, 16:39:33 UTC | Merge branch 'fix-prefix' | 18 February 2014, 16:39:33 UTC |
0cb6cd9 | Mike Bostock | 18 February 2014, 16:38:48 UTC | Tweak comment. Add another test. | 18 February 2014, 16:38:48 UTC |
5c3d51c | Mike Bostock | 18 February 2014, 16:19:56 UTC | Merge branch 'master' of github.com:jbblanchet/d3 into fix-prefix | 18 February 2014, 16:19:56 UTC |
aaa3585 | Mike Bostock | 18 February 2014, 16:14:25 UTC | Merge pull request #1721 from gdi2290/patch-1 update copyright year | 18 February 2014, 16:14:25 UTC |
d42e8c7 | jbblanchet | 12 February 2014, 02:29:15 UTC | Updated test/locale for suffix bug | 12 February 2014, 02:29:15 UTC |
fee2a08 | jbblanchet | 11 February 2014, 19:33:51 UTC | Update number-format.js Corrects bug where currency suffix was overwritten by SI-prefix formatting. | 11 February 2014, 19:33:51 UTC |
92c831b | PatrickJS | 03 February 2014, 10:04:15 UTC | update copyright year | 03 February 2014, 10:04:15 UTC |
b3d9f5e | Mike Bostock | 21 January 2014, 16:10:09 UTC | Merge pull request #1705 from zerolinux5/patch-1 add _site | 21 January 2014, 16:10:09 UTC |
4e4257f | Jesus Magana | 21 January 2014, 02:51:51 UTC | add _site | 21 January 2014, 02:51:51 UTC |
13293df | Mike Bostock | 16 January 2014, 17:57:14 UTC | Merge pull request #1699 from kmindi/add-composer adds composer.json closes #1674 | 16 January 2014, 17:57:14 UTC |
441e8a4 | Mike Bostock | 15 January 2014, 22:34:25 UTC | Abbreviate per @maxogden. | 15 January 2014, 22:34:25 UTC |
613824b | kmindi | 15 January 2014, 07:14:28 UTC | corrects package name to include vendor | 15 January 2014, 07:14:28 UTC |
0238cac | kmindi | 14 January 2014, 23:15:26 UTC | removes minimum-stability from composer.json | 14 January 2014, 23:15:26 UTC |
11466b2 | kmindi | 14 January 2014, 23:02:33 UTC | adds first draft of a composer.json | 14 January 2014, 23:02:33 UTC |
657effb | Mike Bostock | 13 January 2014, 19:39:15 UTC | Fix a winding order bug in viewport clipping. Introduced by bfce5d5d11a30615b132be071ff320c46ce13417 (<= vs <). | 13 January 2014, 19:42:04 UTC |
ceee009 | Jason Davies | 10 January 2014, 22:18:17 UTC | Fix browserify reference. | 10 January 2014, 22:18:17 UTC |
f41170a | Mike Bostock | 10 January 2014, 17:52:03 UTC | Non-redundant locale grouping definition. | 10 January 2014, 17:52:03 UTC |
5c6cc73 | Mike Bostock | 10 January 2014, 05:40:47 UTC | Consolidate symbol definition. | 10 January 2014, 05:40:47 UTC |
45502ac | Mike Bostock | 10 January 2014, 00:44:43 UTC | Use non-breaking space in ru_RU example. | 10 January 2014, 00:44:43 UTC |
ba170a5 | Mike Bostock | 10 January 2014, 00:43:32 UTC | Merge branch 'locale' into 3.4 | 10 January 2014, 00:43:32 UTC |
c7c4475 | Mike Bostock | 10 January 2014, 00:38:12 UTC | Merge branch 'master' into 3.4 | 10 January 2014, 00:38:12 UTC |
8f919c4 | Mike Bostock | 10 January 2014, 00:37:18 UTC | Actually use seedrandom. The tests are run in a sandboxed environment, and so didn’t have access to the same global Math whose random was being overridden. | 10 January 2014, 00:37:18 UTC |
e425945 | Mike Bostock | 09 January 2014, 23:36:18 UTC | Bump version number. | 09 January 2014, 23:36:18 UTC |
a18c8a2 | Mike Bostock | 09 January 2014, 23:33:53 UTC | Merge branch 'force-charge-distance' into 3.4 | 09 January 2014, 23:33:53 UTC |
f8b79c9 | Mike Bostock | 09 January 2014, 23:33:19 UTC | Merge branch 'locale' into 3.4 | 09 January 2014, 23:33:19 UTC |
534d44b | Mike Bostock | 09 January 2014, 23:32:48 UTC | Merge branch 'map-size-empty' into 3.4 | 09 January 2014, 23:32:48 UTC |
9e77800 | Mike Bostock | 09 January 2014, 23:32:10 UTC | Merge branch 'define' into 3.4 | 09 January 2014, 23:32:10 UTC |
d0a047a | Mike Bostock | 09 January 2014, 23:31:05 UTC | Merge branch 'better-hull2' of https://github.com/DanGoldbach/d3 into 3.4 | 09 January 2014, 23:31:05 UTC |
aee1214 | Mike Bostock | 09 January 2014, 23:25:16 UTC | Restore Math.random on teardown. | 09 January 2014, 23:25:16 UTC |
e44ae3c | Mike Bostock | 09 January 2014, 23:14:25 UTC | Merge branch 'random-tests' of https://github.com/DanGoldbach/d3 into random-tests | 09 January 2014, 23:14:25 UTC |
d7f2ce3 | Mike Bostock | 09 January 2014, 22:03:03 UTC | Fix global restore. | 09 January 2014, 22:03:03 UTC |
99ff885 | Mike Bostock | 09 January 2014, 21:54:49 UTC | Support AMD/RequireJS. When d3.js is loaded, it now prefers the AMD define function or module.exports if available; the global `d3` is only set if neither of these are available. A side benefit of this change is that browserify, bower and component can now load the D3 library directly rather than needing a custom definition. | 09 January 2014, 21:54:49 UTC |
8b1e0ea | Mike Bostock | 09 January 2014, 19:07:32 UTC | Add tests for d3.locale. | 09 January 2014, 19:07:32 UTC |
da785c6 | Mike Bostock | 09 January 2014, 18:50:11 UTC | Allow currency prefix and suffix. This commit allows the currency symbol to appear either at the beginning or end (or both, but that should be rare). | 09 January 2014, 18:50:11 UTC |
4c2917d | Mike Bostock | 08 January 2014, 23:47:10 UTC | Add test for timeFormat.multi. | 08 January 2014, 23:47:10 UTC |
02241ef | Mike Bostock | 08 January 2014, 23:30:21 UTC | Add timeFormat.multi. Given an array of format strings and corresponding predicate functions, returns a time format function that tests the input date against each predicate function, using the first format that returns true. | 08 January 2014, 23:30:21 UTC |
d158235 | Mike Bostock | 08 January 2014, 23:00:32 UTC | Don’t bother localizing time scale format. It wasn’t really localized anyway, since the set of format strings weren’t really locale-independent. A better way of localizing this format is to implement a custom time format using locale.timeFormat, as in the custom time format example: http://bl.ocks.org/mbostock/4149176 | 08 January 2014, 23:00:32 UTC |
f152a9e | Mike Bostock | 08 January 2014, 22:45:44 UTC | Add an example of another locale. | 08 January 2014, 22:45:44 UTC |
77cd399 | Mike Bostock | 08 January 2014, 22:29:44 UTC | Use d3_time. | 08 January 2014, 22:29:44 UTC |
e93f69c | Mike Bostock | 08 January 2014, 22:21:24 UTC | Cleaner locale implementation. | 08 January 2014, 22:21:24 UTC |
8349aa1 | Mike Bostock | 29 November 2013, 17:09:51 UTC | Quick and ugly hack to allow multiple locales. Fixes #750. This isn’t the final implementation, but more of a proof of concept demonstrating how to scope any code that requires localization within a closure that has access to locale-specific variables. In the next pass, I can go through this implementation and more cleanly separate locale-dependent from locale- independent code, and only put locale-dependent code within the closure. Also, we may want to use an options object rather than passing a zillion arguments to d3.locale, because a many-argument method is hard to use and may make it harder to extend the API in the future. This commit also breaks the ability to change the default locale during the build process, but this should be easy to restore. | 08 January 2014, 21:10:00 UTC |
997471e | Mike Bostock | 08 January 2014, 21:04:12 UTC | Consolidate duplicate code. | 08 January 2014, 21:05:13 UTC |
af76f54 | Mike Bostock | 03 December 2013, 17:01:41 UTC | Simplify. | 08 January 2014, 21:04:51 UTC |
c3c2bd6 | Mike Bostock | 03 December 2013, 16:59:45 UTC | Better {set,map}.forEach tests. Adapted from @DanGoldbach’s fa618397f6f09c274c72b11dcd91800456d1604a. | 08 January 2014, 21:04:51 UTC |
fc15390 | Mike Bostock | 03 December 2013, 16:50:06 UTC | Implement {map,set}.{size,empty}. Fixes #1648. | 08 January 2014, 21:04:51 UTC |
3234f47 | Mike Bostock | 16 December 2013, 17:24:53 UTC | Merge branch 'fix-subscale-time-scale-nice' | 16 December 2013, 17:24:53 UTC |
d5b18a6 | Mike Bostock | 16 December 2013, 17:22:34 UTC | Use d3_identity. | 16 December 2013, 17:22:34 UTC |
6e6cf4e | Stuart Glaser | 16 December 2013, 01:06:57 UTC | Added floor() and ceil() to millis interval | 16 December 2013, 01:06:57 UTC |
2509055 | Stuart Glaser | 16 December 2013, 00:55:59 UTC | Added failing test for nice() on millisec interval | 16 December 2013, 01:06:47 UTC |