Merge pull request #12197 from lk-chen/d3-box

Add typings for d3-box
This commit is contained in:
Zhengbo Li
2016-10-24 10:20:44 -07:00
committed by GitHub
2 changed files with 57 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
/// <reference path="../d3/d3.d.ts" />
/// <reference path="d3-box.d.ts" />
// Inspired by http://bl.ocks.org/mbostock/4061502
function iqr(k: number) {
return function(d: any) {
var q1 = d.quartiles[0],
q3 = d.quartiles[2],
iqr = (q3 - q1) * k;
let i = -1,
j = d.length;
while (d[++i] < q1 - iqr);
while (d[--j] > q3 + iqr);
return [i, j];
};
}
var chart = d3.box()
.whiskers(iqr(1.5))
.width(100)
.height(100);
chart.domain([1, 30]);
d3.selectAll("sth.").call(chart.duration(1000));
+31
View File
@@ -0,0 +1,31 @@
// Type definitions for d3-box
// Project: https://github.com/JacksonGariety/d3-box
// Definitions by: Linkun Chen <https://github.com/lk-chen>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/// <reference path="../d3/d3.d.ts"/>
declare namespace d3 {
export function box(): Box;
interface Box {
(sel: d3.Selection<any>): void;
width(): number;
width(x: number): Box;
height(): number;
height(x: number): Box;
tickFormat(): (n: number) => string;
tickFormat(fun: (n: number) => string): Box;
duration(): number;
duration(x: number): Box;
domain(): () => number[];
domain(x: number[]): Box;
value(): (d: any) => number;
value(x: (d: any) => number): Box;
whiskers(): (d: any[], i?: number) => number[];
whiskers(x: (d: any[], i?: number) => number[]): Box;
quartiles(): (d: any[]) => number[];
quantiles(x: (d: any[]) => number[]): Box;
}
}