@weng-lab/visualization 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/Graph/ControlPanel.d.ts +28 -0
- package/dist/src/components/Graph/ControlPanel.d.ts.map +1 -0
- package/dist/src/components/Graph/Graph.d.ts +5 -0
- package/dist/src/components/Graph/Graph.d.ts.map +1 -0
- package/dist/src/components/Graph/GraphButton.d.ts +9 -0
- package/dist/src/components/Graph/GraphButton.d.ts.map +1 -0
- package/dist/src/components/Graph/Legend.d.ts +21 -0
- package/dist/src/components/Graph/Legend.d.ts.map +1 -0
- package/dist/src/components/Graph/ScaleLegend.d.ts +9 -0
- package/dist/src/components/Graph/ScaleLegend.d.ts.map +1 -0
- package/dist/src/components/Graph/index.d.ts +4 -0
- package/dist/src/components/Graph/index.d.ts.map +1 -0
- package/dist/src/components/Graph/types.d.ts +41 -0
- package/dist/src/components/Graph/types.d.ts.map +1 -0
- package/dist/src/components/ScatterPlot/controls.d.ts +4 -0
- package/dist/src/components/ScatterPlot/controls.d.ts.map +1 -0
- package/dist/src/components/ScatterPlot/index.d.ts +4 -0
- package/dist/src/components/ScatterPlot/index.d.ts.map +1 -0
- package/dist/src/components/ScatterPlot/minimap.d.ts +4 -0
- package/dist/src/components/ScatterPlot/minimap.d.ts.map +1 -0
- package/dist/src/components/ScatterPlot/scatterplot.d.ts +4 -0
- package/dist/src/components/ScatterPlot/scatterplot.d.ts.map +1 -0
- package/dist/src/components/ScatterPlot/tooltip.d.ts +4 -0
- package/dist/src/components/ScatterPlot/tooltip.d.ts.map +1 -0
- package/dist/src/components/ScatterPlot/types.d.ts +247 -0
- package/dist/src/components/ScatterPlot/types.d.ts.map +1 -0
- package/dist/src/components/ViolinPlot/crossPlot.d.ts +4 -0
- package/dist/src/components/ViolinPlot/crossPlot.d.ts.map +1 -0
- package/dist/src/components/ViolinPlot/helpers.d.ts +18 -0
- package/dist/src/components/ViolinPlot/helpers.d.ts.map +1 -0
- package/dist/src/components/ViolinPlot/index.d.ts +4 -0
- package/dist/src/components/ViolinPlot/index.d.ts.map +1 -0
- package/dist/src/components/ViolinPlot/singleViolin.d.ts +4 -0
- package/dist/src/components/ViolinPlot/singleViolin.d.ts.map +1 -0
- package/dist/src/components/ViolinPlot/testData.d.ts +26 -0
- package/dist/src/components/ViolinPlot/testData.d.ts.map +1 -0
- package/dist/src/components/ViolinPlot/types.d.ts +101 -0
- package/dist/src/components/ViolinPlot/types.d.ts.map +1 -0
- package/dist/src/components/ViolinPlot/violinPlot.d.ts +4 -0
- package/dist/src/components/ViolinPlot/violinPlot.d.ts.map +1 -0
- package/dist/src/components/ViolinPlot/violinTooltip.d.ts +4 -0
- package/dist/src/components/ViolinPlot/violinTooltip.d.ts.map +1 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/visualization.css +1 -0
- package/dist/visualization.es.js +45609 -0
- package/dist/visualization.es.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Node, Edge } from './types';
|
|
3
|
+
interface ControlPanelProps {
|
|
4
|
+
toggles: {
|
|
5
|
+
[key: string]: boolean;
|
|
6
|
+
};
|
|
7
|
+
onToggle: (category: string) => void;
|
|
8
|
+
simpleCategories: string[];
|
|
9
|
+
edgeType: boolean;
|
|
10
|
+
colorFunc?: (node: Node | Edge) => string;
|
|
11
|
+
elements: Node[];
|
|
12
|
+
edges: Edge[];
|
|
13
|
+
scales: number[];
|
|
14
|
+
scaleWidth: (n: number) => number;
|
|
15
|
+
downloadScreenshot: () => void;
|
|
16
|
+
randomize: () => void;
|
|
17
|
+
organize: () => void;
|
|
18
|
+
toggleLabels: () => void;
|
|
19
|
+
labelsOn: boolean;
|
|
20
|
+
legendToggle?: (node: Node | Edge) => string;
|
|
21
|
+
legendNodeLabel?: string;
|
|
22
|
+
legendEdgeLabel?: string;
|
|
23
|
+
uniqueCat?: string[];
|
|
24
|
+
scaleLabel?: string;
|
|
25
|
+
}
|
|
26
|
+
declare const ControlPanel: React.FC<ControlPanelProps>;
|
|
27
|
+
export default ControlPanel;
|
|
28
|
+
//# sourceMappingURL=ControlPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/ControlPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAgBrC,UAAU,iBAAiB;IACzB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC1C,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8J7C,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Graph.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/Graph.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAC;AAEjD,OAAO,yBAAyB,CAAC;AAsCjC,QAAA,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAugB/B,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React, CSSProperties } from 'react';
|
|
2
|
+
interface buttonProps {
|
|
3
|
+
text: string;
|
|
4
|
+
styles: CSSProperties;
|
|
5
|
+
func: () => any;
|
|
6
|
+
}
|
|
7
|
+
declare const GraphButton: React.FC<buttonProps>;
|
|
8
|
+
export default GraphButton;
|
|
9
|
+
//# sourceMappingURL=GraphButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphButton.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/GraphButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,CAAC;CACjB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAoBtC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { Node, Edge } from './types';
|
|
3
|
+
interface LegendProps {
|
|
4
|
+
toggles: {
|
|
5
|
+
[key: string]: boolean;
|
|
6
|
+
};
|
|
7
|
+
onToggle: (category: string) => void;
|
|
8
|
+
simpleCategories: string[];
|
|
9
|
+
edgeType: boolean;
|
|
10
|
+
colorFunc?: (node: Node | Edge) => string;
|
|
11
|
+
elements: Node[];
|
|
12
|
+
edges: Edge[];
|
|
13
|
+
legendToggle?: (node: Node | Edge) => string;
|
|
14
|
+
legendNodeLabel?: string;
|
|
15
|
+
legendEdgeLabel?: string;
|
|
16
|
+
order?: string[];
|
|
17
|
+
uniqueCat?: string[];
|
|
18
|
+
}
|
|
19
|
+
declare const Legend: React.FC<LegendProps>;
|
|
20
|
+
export default Legend;
|
|
21
|
+
//# sourceMappingURL=Legend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Legend.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/Legend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGrC,UAAU,WAAW;IACnB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC1C,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAuNjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface ScaleProps {
|
|
3
|
+
scales: number[];
|
|
4
|
+
width: (n: number) => number;
|
|
5
|
+
scaleLabel?: string;
|
|
6
|
+
}
|
|
7
|
+
declare const ScaleLegend: React.FC<ScaleProps>;
|
|
8
|
+
export default ScaleLegend;
|
|
9
|
+
//# sourceMappingURL=ScaleLegend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScaleLegend.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/ScaleLegend.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAK7C,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA2JrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface Edge {
|
|
2
|
+
from: string;
|
|
3
|
+
to: string;
|
|
4
|
+
effectSize: number;
|
|
5
|
+
category?: string;
|
|
6
|
+
id: number;
|
|
7
|
+
}
|
|
8
|
+
export interface Node {
|
|
9
|
+
id: string;
|
|
10
|
+
category: string;
|
|
11
|
+
color?: string;
|
|
12
|
+
info?: {
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export interface GraphProps {
|
|
17
|
+
data: {
|
|
18
|
+
edge: Edge[];
|
|
19
|
+
node: Node[];
|
|
20
|
+
centered?: {
|
|
21
|
+
id: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
id: number | string;
|
|
25
|
+
title?: string;
|
|
26
|
+
width?: string;
|
|
27
|
+
height?: string;
|
|
28
|
+
scale?: (n: number) => number;
|
|
29
|
+
getLabel?: (node: Node) => string;
|
|
30
|
+
getColor?: (node: Node | Edge) => string;
|
|
31
|
+
legendToggle?: (node: Node | Edge) => string;
|
|
32
|
+
legendNodeLabel?: string;
|
|
33
|
+
legendEdgeLabel?: string;
|
|
34
|
+
order?: string[];
|
|
35
|
+
fontFamily?: string;
|
|
36
|
+
onNodeClick?: (n: any) => any;
|
|
37
|
+
onEdgeClick?: () => any;
|
|
38
|
+
directional?: boolean;
|
|
39
|
+
scaleLabel?: string;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/Graph/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAC;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAClB,CAAC;CACF;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,IAAI,EAAE,CAAC;QAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAC,EAAE,EAAE,MAAM,CAAA;SAAC,CAAA;KACpD,CAAC;IACF,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ControlButtonsProps } from './types';
|
|
2
|
+
declare const ControlButtons: ({ selectable, resetable, handleSelectionModeChange, selectMode, zoomIn, zoomOut, zoomReset, position, highlight }: ControlButtonsProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export default ControlButtons;
|
|
4
|
+
//# sourceMappingURL=controls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/controls.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAI9C,QAAA,MAAM,cAAc,GAAI,mHAUrB,mBAAmB,4CA0ErB,CAAA;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimap.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/minimap.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,QAAA,MAAM,OAAO,GAAI,CAAC,EAAG,6DAQlB,QAAQ,CAAC,CAAC,CAAC,4CAkGb,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ChartProps } from './types';
|
|
2
|
+
declare const ScatterPlot: <T extends object, S extends boolean | undefined = undefined, Z extends boolean | undefined = undefined>(props: ChartProps<T, S, Z>) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export default ScatterPlot;
|
|
4
|
+
//# sourceMappingURL=scatterplot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scatterplot.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/scatterplot.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAgC,MAAM,SAAS,CAAC;AA6BnE,QAAA,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC,SAAS,OAAO,GAAG,SAAS,GAAG,SAAS,EACvH,OAAO,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,4CAypB7B,CAAA;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,QAAA,MAAM,cAAc,GAAI,CAAC,EAAG,8BAGzB,YAAY,CAAC,CAAC,CAAC,4CAmBjB,CAAA;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { ScaleLinear } from '@visx/vendor/d3-scale';
|
|
2
|
+
import { ProvidedZoom } from '@visx/zoom/lib/types';
|
|
3
|
+
import { ReactElement } from 'react';
|
|
4
|
+
/**
|
|
5
|
+
All information given to a point on the plot, including its coordinates(x and y), its radius, color, and opacity, and its metadata information
|
|
6
|
+
which can be any amount of strings used to display in the tooltip
|
|
7
|
+
*/
|
|
8
|
+
export type Point<T> = {
|
|
9
|
+
/**
|
|
10
|
+
* X and Y coordinates of point on plot (required)
|
|
11
|
+
*/
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
/**
|
|
15
|
+
* Shape of the point
|
|
16
|
+
* @default
|
|
17
|
+
* "circle"
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
shape?: "circle" | "triangle";
|
|
21
|
+
/**
|
|
22
|
+
* Radius of the point
|
|
23
|
+
* @default
|
|
24
|
+
* 3
|
|
25
|
+
* (5 if hovered)
|
|
26
|
+
*/
|
|
27
|
+
r?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Fill color of the point
|
|
30
|
+
* @default
|
|
31
|
+
* "black"
|
|
32
|
+
*/
|
|
33
|
+
color?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Transparency ofe the point
|
|
36
|
+
* @default
|
|
37
|
+
* 1 (opaque)
|
|
38
|
+
*/
|
|
39
|
+
opacity?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Any and all metadata the user wishes to include with the point.
|
|
42
|
+
* this will be used to display the tooltip on the hover of the point
|
|
43
|
+
* @example
|
|
44
|
+
* metaData: {
|
|
45
|
+
name: x.displayname,
|
|
46
|
+
accession: x.experimentAccession
|
|
47
|
+
}
|
|
48
|
+
*/
|
|
49
|
+
metaData?: T;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
Positioning props given to the minimap in realtion to the container
|
|
53
|
+
@todo
|
|
54
|
+
remove the seperate type since position is now the only
|
|
55
|
+
prop in here
|
|
56
|
+
**/
|
|
57
|
+
export type MiniMapProps = {
|
|
58
|
+
position?: {
|
|
59
|
+
right: number;
|
|
60
|
+
bottom: number;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Initial state of the component controling the initial state variables on first load
|
|
65
|
+
*/
|
|
66
|
+
export type InitialState<S, Z> = {
|
|
67
|
+
minimap?: {
|
|
68
|
+
/**
|
|
69
|
+
* Initial minimap state (open or closed)
|
|
70
|
+
*/
|
|
71
|
+
open?: boolean;
|
|
72
|
+
};
|
|
73
|
+
controls?: {
|
|
74
|
+
/**
|
|
75
|
+
* Initial selection type
|
|
76
|
+
* Note: allowed types depends on zoom and selection availibility
|
|
77
|
+
*/
|
|
78
|
+
selectionType?: S extends true ? "pan" | "select" : Z extends true ? "select" | "none" : "pan";
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
Basic chart properties
|
|
83
|
+
*/
|
|
84
|
+
export type ChartProps<T, S extends boolean | undefined, Z extends boolean | undefined> = {
|
|
85
|
+
/**
|
|
86
|
+
* Array of points being displayed on the plot
|
|
87
|
+
* if empty, nothing will be displayed
|
|
88
|
+
*/
|
|
89
|
+
pointData: Point<T>[];
|
|
90
|
+
/**
|
|
91
|
+
* Boolean flag to indicate if any data is still loading,
|
|
92
|
+
* if true, loading state is displayed (Circular Progress)
|
|
93
|
+
*/
|
|
94
|
+
loading: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* If true, enables lasso selection of points, controllable with onSelectionChange
|
|
97
|
+
* Shows new select icon in controls section (pencil)
|
|
98
|
+
* @default
|
|
99
|
+
* false
|
|
100
|
+
*/
|
|
101
|
+
selectable?: S;
|
|
102
|
+
/**
|
|
103
|
+
* If true, zooming and panning capabilities of the scatterplot
|
|
104
|
+
* Removes zooming control icons (Zoom in, zoom out, reset zoom)
|
|
105
|
+
*
|
|
106
|
+
* Note: if Zoom is disabled and selecting is enabled, No icons will appear,
|
|
107
|
+
* the selection type of the plot will only ever be select
|
|
108
|
+
*
|
|
109
|
+
* @default
|
|
110
|
+
* false
|
|
111
|
+
*/
|
|
112
|
+
disableZoom?: Z;
|
|
113
|
+
/**
|
|
114
|
+
* If true, tooltip functionality is disabled.
|
|
115
|
+
* point hovering will not render anything but will still increase the size of the point
|
|
116
|
+
* @default
|
|
117
|
+
* false
|
|
118
|
+
*/
|
|
119
|
+
disableTooltip?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Determines the placement of any controls that are being shown at the time.
|
|
122
|
+
* Positions are fixed and cannot be moved, they are 10 pixels from the specified side of the container
|
|
123
|
+
* and situated in the center
|
|
124
|
+
*
|
|
125
|
+
* @default
|
|
126
|
+
* "left"
|
|
127
|
+
*/
|
|
128
|
+
controlsPosition?: "left" | "bottom" | "right";
|
|
129
|
+
/**
|
|
130
|
+
* Can specify a certain color to display what controls are being selected
|
|
131
|
+
* (Pan/Select and Minimap open/closed)
|
|
132
|
+
*
|
|
133
|
+
* @default
|
|
134
|
+
* primary.main
|
|
135
|
+
*/
|
|
136
|
+
controlsHighlight?: string;
|
|
137
|
+
/**
|
|
138
|
+
* Callback function triggered whenever the currently rendered points on the plot change
|
|
139
|
+
* ex. when panning or zooming in
|
|
140
|
+
*
|
|
141
|
+
* @returns
|
|
142
|
+
* Array of points currently rendered on the plot
|
|
143
|
+
* including all of its info and metadata
|
|
144
|
+
*/
|
|
145
|
+
onDisplayedPointsChange?: (points: Point<T>[]) => void;
|
|
146
|
+
/**
|
|
147
|
+
* Callback function triggered when a lasso selection is made
|
|
148
|
+
*
|
|
149
|
+
* @returns
|
|
150
|
+
* Array of points inside the lasso
|
|
151
|
+
* Empty array if no points inside lasso
|
|
152
|
+
*/
|
|
153
|
+
onSelectionChange?: (selectedPoints: Point<T>[]) => void;
|
|
154
|
+
/**
|
|
155
|
+
* Callback fucntion triggered when a point is clicked
|
|
156
|
+
*
|
|
157
|
+
* @returns
|
|
158
|
+
* Singular point including all info and metadata
|
|
159
|
+
*/
|
|
160
|
+
onPointClicked?: (point: Point<T>) => void;
|
|
161
|
+
/**
|
|
162
|
+
* Optional key to specify if you want to group your points.
|
|
163
|
+
* Must be a key of type Point, or an existing key already in meta data
|
|
164
|
+
*
|
|
165
|
+
* If anchor is specified, all grouped points will increase in size on hover of any point in said group
|
|
166
|
+
*/
|
|
167
|
+
groupPointsAnchor?: keyof Point<T> | keyof T;
|
|
168
|
+
/**
|
|
169
|
+
* Custom tooltip formatting
|
|
170
|
+
* can give JSX elements
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* tooltipBody={(point) => {
|
|
174
|
+
return (
|
|
175
|
+
<Box sx={{ textAlign: "center", p: 1 }}>
|
|
176
|
+
<DNALogo ppm={formattedPWM} height={100} />
|
|
177
|
+
{point.metaData?.tooltipValues && (
|
|
178
|
+
<>
|
|
179
|
+
<Typography variant="body2">
|
|
180
|
+
<strong>Accession:</strong>{" "}
|
|
181
|
+
{point.metaData.tooltipValues.accession}
|
|
182
|
+
</Typography>
|
|
183
|
+
<Typography variant="body2">
|
|
184
|
+
<strong>DBD:</strong>{" "}
|
|
185
|
+
{point.metaData.tooltipValues.dbd}
|
|
186
|
+
</Typography>
|
|
187
|
+
<Typography variant="body2">
|
|
188
|
+
<strong>Factor:</strong>{" "}
|
|
189
|
+
{point.metaData.tooltipValues.factor}
|
|
190
|
+
</Typography>
|
|
191
|
+
</>
|
|
192
|
+
)}
|
|
193
|
+
</Box>
|
|
194
|
+
);
|
|
195
|
+
}}
|
|
196
|
+
*/
|
|
197
|
+
tooltipBody?: (point: Point<T>) => ReactElement;
|
|
198
|
+
miniMap?: MiniMapProps;
|
|
199
|
+
leftAxisLabel?: string;
|
|
200
|
+
bottomAxisLabel?: string;
|
|
201
|
+
initialState?: InitialState<S, Z>;
|
|
202
|
+
};
|
|
203
|
+
export type Line = {
|
|
204
|
+
x: number;
|
|
205
|
+
y: number;
|
|
206
|
+
}[];
|
|
207
|
+
export type Lines = Line[];
|
|
208
|
+
export type MapProps<T> = {
|
|
209
|
+
miniMap: MiniMapProps;
|
|
210
|
+
width: number;
|
|
211
|
+
height: number;
|
|
212
|
+
pointData: Point<T>[];
|
|
213
|
+
xScale: ScaleLinear<number, number, never>;
|
|
214
|
+
yScale: ScaleLinear<number, number, never>;
|
|
215
|
+
zoom: ZoomType;
|
|
216
|
+
};
|
|
217
|
+
export type TooltipProps<T> = {
|
|
218
|
+
tooltipBody?: (point: Point<T>) => ReactElement;
|
|
219
|
+
tooltipData: Point<T>;
|
|
220
|
+
};
|
|
221
|
+
export type ControlButtonsProps = {
|
|
222
|
+
selectable: boolean;
|
|
223
|
+
resetable: boolean;
|
|
224
|
+
handleSelectionModeChange: (mode: "select" | "pan" | "none") => void;
|
|
225
|
+
selectMode: "select" | "pan" | "none";
|
|
226
|
+
zoomIn: () => void;
|
|
227
|
+
zoomOut: () => void;
|
|
228
|
+
zoomReset: () => void;
|
|
229
|
+
position?: "left" | "bottom" | "right";
|
|
230
|
+
highlight?: string;
|
|
231
|
+
};
|
|
232
|
+
interface TransformMatrix {
|
|
233
|
+
scaleX: number;
|
|
234
|
+
scaleY: number;
|
|
235
|
+
translateX: number;
|
|
236
|
+
translateY: number;
|
|
237
|
+
skewX: number;
|
|
238
|
+
skewY: number;
|
|
239
|
+
}
|
|
240
|
+
type ZoomState = {
|
|
241
|
+
initialTransformMatrix: TransformMatrix;
|
|
242
|
+
transformMatrix: TransformMatrix;
|
|
243
|
+
isDragging: boolean;
|
|
244
|
+
};
|
|
245
|
+
export type ZoomType = ProvidedZoom<React.ReactElement<unknown, string | React.JSXElementConstructor<unknown>>> & ZoomState;
|
|
246
|
+
export {};
|
|
247
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/ScatterPlot/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CrossPlotProps } from './types';
|
|
2
|
+
declare const CrossPlot: <T>({ crossProps, left, top, median, firstQuartile, thirdQuartile, valueScale, medianWidth, tooltipData, handleMouseMove, handleCrossClick, disableViolinPlot, tooltip, horizontal }: CrossPlotProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export default CrossPlot;
|
|
4
|
+
//# sourceMappingURL=crossPlot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crossPlot.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/crossPlot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIzC,QAAA,MAAM,SAAS,GAAI,CAAC,EAAG,kLAAkL,cAAc,CAAC,CAAC,CAAC,4CAgCzN,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const getTextHeight: (text: string, fontSize: number, fontFamily: string) => number;
|
|
2
|
+
export declare const calculateBoxStats: (data: number[], outlierType: string) => {
|
|
3
|
+
min: number;
|
|
4
|
+
max: number;
|
|
5
|
+
firstQuartile: number;
|
|
6
|
+
thirdQuartile: number;
|
|
7
|
+
median: number;
|
|
8
|
+
outliers: number[];
|
|
9
|
+
};
|
|
10
|
+
export declare function kernelDensityEstimator(kernel: (distance: number) => number, X: number[]): (data: number[]) => {
|
|
11
|
+
value: number;
|
|
12
|
+
count: number;
|
|
13
|
+
}[];
|
|
14
|
+
export declare function gaussian(bandwidth: number): (x: number) => number;
|
|
15
|
+
export declare function scottRule(data: number[]): number;
|
|
16
|
+
export declare function silvermanRule(data: number[]): number;
|
|
17
|
+
export declare function seededRandom(seed: string): number;
|
|
18
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/helpers.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,YAAY,MAAM,KAAG,MAYlF,CAAC;AAGF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,EAAE,aAAa,MAAM;;;;;;;CA2CpE,CAAC;AAEF,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,EACpC,CAAC,EAAE,MAAM,EAAE,GACZ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAOxD;AAED,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAGjE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAWrC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAkB7C;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { SingleViolinProps } from './types';
|
|
2
|
+
declare const SingleViolin: <T>({ distribution, distIndex, violinProps, crossProps, valueScale, labelScale, offset, labels, disableCrossPlot, disableViolinPlot, horizontal, pointTooltipBody, onViolinClicked, onPointClicked }: SingleViolinProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export default SingleViolin;
|
|
4
|
+
//# sourceMappingURL=singleViolin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"singleViolin.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/singleViolin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAe,iBAAiB,EAAe,MAAM,SAAS,CAAC;AAItE,QAAA,MAAM,YAAY,GAAI,CAAC,EAAG,kMAevB,iBAAiB,CAAC,CAAC,CAAC,4CAmRtB,CAAA;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const sp1AdiposeVisceral: number[];
|
|
2
|
+
export declare const sp1AdiposeSub: number[];
|
|
3
|
+
export declare const sp1KidneyMedulla: number[];
|
|
4
|
+
export declare const sp1EsophagusMucosa: number[];
|
|
5
|
+
export declare const wholeBlood: number[];
|
|
6
|
+
export declare const sp1Screen: ({
|
|
7
|
+
label: string;
|
|
8
|
+
data: {
|
|
9
|
+
value: number;
|
|
10
|
+
}[];
|
|
11
|
+
violinColor: string;
|
|
12
|
+
} | {
|
|
13
|
+
label: string;
|
|
14
|
+
data: {
|
|
15
|
+
value: number;
|
|
16
|
+
}[];
|
|
17
|
+
violinColor?: undefined;
|
|
18
|
+
})[];
|
|
19
|
+
export declare const testData: {
|
|
20
|
+
label: string;
|
|
21
|
+
data: {
|
|
22
|
+
value: number;
|
|
23
|
+
}[];
|
|
24
|
+
violinColor: string;
|
|
25
|
+
}[];
|
|
26
|
+
//# sourceMappingURL=testData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testData.d.ts","sourceRoot":"","sources":["../../../../src/components/ViolinPlot/testData.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UA4kB5B,CAAA;AAED,eAAO,MAAM,aAAa,UA2sB3B,CAAA;AAED,eAAO,MAAM,gBAAgB,UAY5B,CAAA;AAED,eAAO,MAAM,kBAAkB,UAumB9B,CAAA;AAED,eAAO,MAAM,UAAU,UAoyBtB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;IAiCrB,CAAA;AAED,eAAO,MAAM,QAAQ;;;;;;GAKpB,CAAA"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { ScaleBand, ScaleLinear } from 'd3';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
type Outliers = "all" | "top" | "bottom" | "none";
|
|
4
|
+
export type Datum = {
|
|
5
|
+
value: number;
|
|
6
|
+
count: number;
|
|
7
|
+
}[];
|
|
8
|
+
export type ViolinPoint<T> = {
|
|
9
|
+
value: number;
|
|
10
|
+
color?: string;
|
|
11
|
+
radius?: number;
|
|
12
|
+
opacity?: number;
|
|
13
|
+
metaData?: T;
|
|
14
|
+
};
|
|
15
|
+
export type Distribution<T> = {
|
|
16
|
+
data: ViolinPoint<T>[];
|
|
17
|
+
label?: string;
|
|
18
|
+
violinColor?: string;
|
|
19
|
+
opacity?: number;
|
|
20
|
+
};
|
|
21
|
+
export type ViolinProps = {
|
|
22
|
+
bandwidth?: number | "scott" | "silverman" | ((data: number[]) => number);
|
|
23
|
+
stroke?: number;
|
|
24
|
+
pointDisplayThreshold?: number;
|
|
25
|
+
showAllPoints?: boolean;
|
|
26
|
+
jitter?: number;
|
|
27
|
+
};
|
|
28
|
+
export type CrossProps = {
|
|
29
|
+
color?: string;
|
|
30
|
+
stroke?: number;
|
|
31
|
+
outliers?: Outliers;
|
|
32
|
+
medianColor?: string;
|
|
33
|
+
medianWidth?: number;
|
|
34
|
+
};
|
|
35
|
+
export type ViolinPlotProps<T> = {
|
|
36
|
+
distributions: Distribution<T>[];
|
|
37
|
+
loading: boolean;
|
|
38
|
+
axisLabel?: string;
|
|
39
|
+
disableCrossPlot?: boolean;
|
|
40
|
+
disableViolinPlot?: boolean;
|
|
41
|
+
crossProps?: CrossProps;
|
|
42
|
+
violinProps?: ViolinProps;
|
|
43
|
+
horizontal?: boolean;
|
|
44
|
+
labelOrientation?: "horizontal" | "vertical" | "leftDiagonal" | "rightDiagonal";
|
|
45
|
+
onViolinClicked?: (distribution: Distribution<T>) => void;
|
|
46
|
+
onPointClicked?: (point: ViolinPoint<T>) => void;
|
|
47
|
+
pointTooltipBody?: (point: ViolinPoint<T>) => ReactElement;
|
|
48
|
+
};
|
|
49
|
+
export interface CrossPlotProps<T> {
|
|
50
|
+
crossProps?: CrossProps;
|
|
51
|
+
left: number;
|
|
52
|
+
top: number;
|
|
53
|
+
median: number;
|
|
54
|
+
firstQuartile: number;
|
|
55
|
+
thirdQuartile: number;
|
|
56
|
+
valueScale: (value: number) => number;
|
|
57
|
+
medianWidth: number;
|
|
58
|
+
tooltipData: TooltipData<T>;
|
|
59
|
+
handleMouseMove: (event: React.MouseEvent<SVGPathElement>, data: TooltipData<T>) => void;
|
|
60
|
+
handleCrossClick: () => void;
|
|
61
|
+
disableViolinPlot: boolean;
|
|
62
|
+
tooltip: TooltipData<T>;
|
|
63
|
+
horizontal: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface TooltipData<T> {
|
|
66
|
+
point?: ViolinPoint<T>;
|
|
67
|
+
label?: string;
|
|
68
|
+
min?: string;
|
|
69
|
+
median?: string;
|
|
70
|
+
max?: string;
|
|
71
|
+
firstQuartile?: string;
|
|
72
|
+
thirdQuartile?: string;
|
|
73
|
+
outlier?: boolean;
|
|
74
|
+
sampleSize?: number;
|
|
75
|
+
value?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface TooltipProps<T> {
|
|
78
|
+
left: number;
|
|
79
|
+
top: number;
|
|
80
|
+
data: TooltipData<T>;
|
|
81
|
+
open: boolean;
|
|
82
|
+
pointTooltipBody?: (point: ViolinPoint<T>) => ReactElement;
|
|
83
|
+
}
|
|
84
|
+
export interface SingleViolinProps<T> {
|
|
85
|
+
distribution: Distribution<T>;
|
|
86
|
+
distIndex: number;
|
|
87
|
+
violinProps: ViolinProps | undefined;
|
|
88
|
+
crossProps: CrossProps | undefined;
|
|
89
|
+
valueScale: ScaleLinear<number, number, never>;
|
|
90
|
+
labelScale: ScaleBand<string>;
|
|
91
|
+
offset: number;
|
|
92
|
+
labels: string[];
|
|
93
|
+
disableViolinPlot: boolean;
|
|
94
|
+
disableCrossPlot: boolean;
|
|
95
|
+
horizontal: boolean;
|
|
96
|
+
pointTooltipBody?: (point: ViolinPoint<T>) => ReactElement;
|
|
97
|
+
onViolinClicked?: (distribution: Distribution<T>) => void | undefined;
|
|
98
|
+
onPointClicked?: (point: ViolinPoint<T>) => void | undefined;
|
|
99
|
+
}
|
|
100
|
+
export {};
|
|
101
|
+
//# sourceMappingURL=types.d.ts.map
|