From 5ec5db5e07af91df8a3e869abda13e286de26a81 Mon Sep 17 00:00:00 2001 From: lkchen-x1c Date: Mon, 24 Oct 2016 01:39:55 -0400 Subject: [PATCH] finish d3-box --- d3-box/d3-box-tests.ts | 24 ++++++++++++++++++++++++ d3-box/d3-box.d.ts | 6 +++--- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/d3-box/d3-box-tests.ts b/d3-box/d3-box-tests.ts index 9c92e1b886..acbd928d6f 100644 --- a/d3-box/d3-box-tests.ts +++ b/d3-box/d3-box-tests.ts @@ -1,2 +1,26 @@ /// /// + +// Inspired by http://bl.ocks.org/mbostock/4061502 + +function iqr(k) { + return function(d) { + 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)); diff --git a/d3-box/d3-box.d.ts b/d3-box/d3-box.d.ts index 4b702123d8..4bc837df31 100644 --- a/d3-box/d3-box.d.ts +++ b/d3-box/d3-box.d.ts @@ -1,4 +1,4 @@ -// Type definitions for d3-slider +// Type definitions for d3-box // Project: https://github.com/JacksonGariety/d3-box // Definitions by: Linkun Chen // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -22,8 +22,8 @@ declare namespace d3 { domain(x: number[]): Box; value(): (d: any) => number; value(x: (d: any) => number): Box; - whiskers(): (d: any[]) => number[]; - whiskers(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; }