Mike Bostock
Mike Bostock
Currently we make a placeholder post (`{".gistup": "gistup"}`) but it would be nice to avoid potential caching issues by posting the actual file contents.
Would be nice if you could store default settings in ~/.gistup.json. For example, maybe ``` json { "defaults": { "private": true } } ``` would create private gists by default.
Related #90.
d3-array currently uses function accessors, e.g. ```js d3.median(data, d => d.foo) ``` What if a string could be used instead of an accessor for convenience? ```js d3.median(data, "foo") ``` There’s...
I tend to do something like this, but it’s pretty inefficient and requires integer weights: ```js var values = d3.merge(samples.map(s => d3.range(weight(s)).map(() => value(s)))); ``` A related question is how...
We have [transpose(*matrix*)](https://github.com/d3/d3-array/blob/master/README.md#transpose) which transposes the rows and columns of a *matrix* (an array of arrays). But you might want similar functionality to transpose an object whose values are arrays...
d3.join?
Imagine you’re joining a TSV file to a GeoJSON feature collection. A typical way of doing that might be to create a Map and then use *array*.forEach: ```js var map...
This is another frequent pattern: ```js svg.append("g") .attr("transform", `translate(${marginLeft},0)`) .call(yAxis) .call(g => g.selectAll(".tick line").clone() .attr("x2", width - marginLeft - marginRight) .attr("stroke-opacity", 0.1)) ``` It’d be nice if this were an...
The `g.select(".domain").remove()` pattern here is frequent: ```js svg.append("g") .attr("transform", `translate(${marginLeft},0)`) .call(yAxis) .call(g => g.select(".domain").remove()) ``` It’d be nice if we could prevent the axis from creating that in the first...
It might be nice to have more configuration options built-in. All of these are possible using post-selection, but that approach is likely more tedious than having supported configuration, especially if...