Mike Bostock
Mike Bostock
Would it be cleaner to not call *event*.preventDefault() on the *mousemove* event until the click distance threshold is crossed? Then you could check *event*.isDefaultPrevented to test.
This would need a symmetric option with parsing such that an unquoted empty string is mapped to null (or undefined?) whereas a quoted empty string is mapped to the empty...
This is fine for Node: https://github.com/mafintosh/csv-parser Would still be nice to have streaming CSV parsing in the browser.
In my view there is little reason to use a force-directed layout to produce beeswarm. A force-directed layout will not result in an accurate positional encoding because the repelling forces...
The comparison of methods isn’t fair if it doesn’t show the error. (It is shown in Curran’s link but not Harry’s.) Without showing the error it is purely an aesthetic...
I sent you a suggestion to show the error. (It is zero for the dodge plots by design.) It’s also interesting to _only_ show the error:
The currency “prefix” feature is misnamed: this is not a prefix, it’s a symbol, or even a suffix based on how it’s formatted. In the case of SI, it’s called...
For a fixed suffix, the recommended way is to wrap the format function. For example: ```js const formatNumber = d3.format("d"); const formatCelsius = d => `${formatNumber(d)}°C`; ``` You can also...
This is the intended behavior for `s`, yes; B is not an SI prefix. There are currency equivalents in SI for ones (none), thousands (k ↦ K), millions (M), billions...
I’ll also mention that *number*.toLocaleString supports currency formatting, although it does not appear to support abbreviated formats such as millions or billions. https://observablehq.com/@mbostock/number-formatting