@milaboratories/miplots4 1.0.125 → 1.0.127
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/DataFrame.d.ts +7 -5
- package/dist/DataFrame.d.ts.map +1 -1
- package/dist/DataFrame.js +67 -60
- package/dist/DataFrame.js.map +1 -1
- package/dist/bubble/components/Chart.d.ts +3 -3
- package/dist/bubble/components/Chart.d.ts.map +1 -1
- package/dist/bubble/components/Chart.js +23 -23
- package/dist/bubble/components/Chart.js.map +1 -1
- package/dist/common/Tooltip.d.ts +1 -1
- package/dist/common/Tooltip.d.ts.map +1 -1
- package/dist/common/Tooltip.js +17 -17
- package/dist/common/Tooltip.js.map +1 -1
- package/dist/discrete/components/layers/BinnedDotsElement.d.ts +2 -2
- package/dist/discrete/components/layers/BinnedDotsElement.d.ts.map +1 -1
- package/dist/discrete/components/layers/BinnedDotsElement.js +9 -9
- package/dist/discrete/components/layers/BinnedDotsElement.js.map +1 -1
- package/dist/discrete/components/layers/BoxElement.d.ts +2 -2
- package/dist/discrete/components/layers/BoxElement.d.ts.map +1 -1
- package/dist/discrete/components/layers/BoxElement.js +19 -19
- package/dist/discrete/components/layers/BoxElement.js.map +1 -1
- package/dist/discrete/components/layers/DotsGroupElement.d.ts +3 -3
- package/dist/discrete/components/layers/DotsGroupElement.d.ts.map +1 -1
- package/dist/discrete/components/layers/DotsGroupElement.js +10 -10
- package/dist/discrete/components/layers/DotsGroupElement.js.map +1 -1
- package/dist/discrete/components/layers/ErrorBarElement.d.ts +2 -2
- package/dist/discrete/components/layers/ErrorBarElement.d.ts.map +1 -1
- package/dist/discrete/components/layers/ErrorBarElement.js +15 -15
- package/dist/discrete/components/layers/ErrorBarElement.js.map +1 -1
- package/dist/discrete/components/layers/LineElement.d.ts +2 -2
- package/dist/discrete/components/layers/LineElement.d.ts.map +1 -1
- package/dist/discrete/components/layers/LineElement.js +12 -12
- package/dist/discrete/components/layers/LineElement.js.map +1 -1
- package/dist/discrete/components/layers/LogoElement.d.ts +2 -2
- package/dist/discrete/components/layers/LogoElement.d.ts.map +1 -1
- package/dist/discrete/components/layers/LogoElement.js +19 -19
- package/dist/discrete/components/layers/LogoElement.js.map +1 -1
- package/dist/discrete/components/layers/PairedPointsElement.d.ts +2 -2
- package/dist/discrete/components/layers/PairedPointsElement.d.ts.map +1 -1
- package/dist/discrete/components/layers/PairedPointsElement.js +37 -37
- package/dist/discrete/components/layers/PairedPointsElement.js.map +1 -1
- package/dist/discrete/components/layers/StackedBarElement.d.ts +3 -3
- package/dist/discrete/components/layers/StackedBarElement.d.ts.map +1 -1
- package/dist/discrete/components/layers/StackedBarElement.js +18 -18
- package/dist/discrete/components/layers/StackedBarElement.js.map +1 -1
- package/dist/discrete/components/layers/ViolinElement.d.ts +4 -4
- package/dist/discrete/components/layers/ViolinElement.d.ts.map +1 -1
- package/dist/discrete/components/layers/ViolinElement.js +7 -7
- package/dist/discrete/components/layers/ViolinElement.js.map +1 -1
- package/dist/heatmap/components/Annotations/Annotation.d.ts +2 -2
- package/dist/heatmap/components/Annotations/Annotation.d.ts.map +1 -1
- package/dist/heatmap/components/Annotations/Annotation.js +16 -16
- package/dist/heatmap/components/Annotations/Annotation.js.map +1 -1
- package/dist/heatmap/components/Chart.d.ts +1 -1
- package/dist/heatmap/components/Chart.d.ts.map +1 -1
- package/dist/heatmap/components/Chart.js +28 -28
- package/dist/heatmap/components/Chart.js.map +1 -1
- package/dist/histogram/components/Chart.d.ts +2 -2
- package/dist/histogram/components/Chart.d.ts.map +1 -1
- package/dist/histogram/components/Chart.js +22 -22
- package/dist/histogram/components/Chart.js.map +1 -1
- package/dist/node_modules/react/index.js +1 -1
- package/dist/node_modules/react-dom/index.js +1 -1
- package/dist/scatterplot/components/Chart.d.ts +6 -11
- package/dist/scatterplot/components/Chart.d.ts.map +1 -1
- package/dist/scatterplot/components/Chart.js +101 -331
- package/dist/scatterplot/components/Chart.js.map +1 -1
- package/dist/scatterplot/components/ChartAxis.d.ts +20 -0
- package/dist/scatterplot/components/ChartAxis.d.ts.map +1 -0
- package/dist/scatterplot/components/ChartAxis.js +52 -0
- package/dist/scatterplot/components/ChartAxis.js.map +1 -0
- package/dist/scatterplot/components/ChartAxisTitles.d.ts +15 -0
- package/dist/scatterplot/components/ChartAxisTitles.d.ts.map +1 -0
- package/dist/scatterplot/components/ChartAxisTitles.js +56 -0
- package/dist/scatterplot/components/ChartAxisTitles.js.map +1 -0
- package/dist/scatterplot/components/ChartFacetTitle.d.ts +11 -0
- package/dist/scatterplot/components/ChartFacetTitle.d.ts.map +1 -0
- package/dist/scatterplot/components/ChartFacetTitle.js +37 -0
- package/dist/scatterplot/components/ChartFacetTitle.js.map +1 -0
- package/dist/scatterplot/components/ChartLayersData.d.ts +39 -0
- package/dist/scatterplot/components/ChartLayersData.d.ts.map +1 -0
- package/dist/scatterplot/components/ChartLayersData.js +250 -0
- package/dist/scatterplot/components/ChartLayersData.js.map +1 -0
- package/dist/scatterplot/components/ChartTooltip.d.ts +18 -0
- package/dist/scatterplot/components/ChartTooltip.d.ts.map +1 -0
- package/dist/scatterplot/components/ChartTooltip.js +58 -0
- package/dist/scatterplot/components/ChartTooltip.js.map +1 -0
- package/dist/scatterplot/components/ChartTrendsData.d.ts +11 -0
- package/dist/scatterplot/components/ChartTrendsData.d.ts.map +1 -0
- package/dist/scatterplot/components/ChartTrendsData.js +65 -0
- package/dist/scatterplot/components/ChartTrendsData.js.map +1 -0
- package/dist/scatterplot/components/ChartsGroup.d.ts +3 -3
- package/dist/scatterplot/components/ChartsGroup.d.ts.map +1 -1
- package/dist/scatterplot/components/ChartsGroup.js +81 -73
- package/dist/scatterplot/components/ChartsGroup.js.map +1 -1
- package/dist/scatterplot/dots.d.ts +0 -2
- package/dist/scatterplot/dots.d.ts.map +1 -1
- package/dist/scatterplot/dots.js +26 -22
- package/dist/scatterplot/dots.js.map +1 -1
- package/dist/scatterplot-umap/ChartRenderer.d.ts +3 -1
- package/dist/scatterplot-umap/ChartRenderer.d.ts.map +1 -1
- package/dist/scatterplot-umap/ChartRenderer.js +159 -158
- package/dist/scatterplot-umap/ChartRenderer.js.map +1 -1
- package/dist/scatterplot-umap/components/SVGLayer.d.ts.map +1 -1
- package/dist/scatterplot-umap/components/SVGLayer.js +32 -32
- package/dist/scatterplot-umap/components/SVGLayer.js.map +1 -1
- package/dist/scatterplot-umap/components/UpperSVG.d.ts +1 -1
- package/dist/scatterplot-umap/components/UpperSVG.d.ts.map +1 -1
- package/dist/scatterplot-umap/components/UpperSVG.js +18 -18
- package/dist/scatterplot-umap/components/UpperSVG.js.map +1 -1
- package/dist/scatterplot-umap/index.d.ts +2 -2
- package/dist/scatterplot-umap/index.d.ts.map +1 -1
- package/dist/scatterplot-umap/index.js +26 -25
- package/dist/scatterplot-umap/index.js.map +1 -1
- package/dist/utils/hooks/useFunction.d.ts +2 -0
- package/dist/utils/hooks/useFunction.d.ts.map +1 -0
- package/dist/utils/hooks/useFunction.js +9 -0
- package/dist/utils/hooks/useFunction.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartTrendsData.js","sources":["../../../src/scatterplot/components/ChartTrendsData.tsx"],"sourcesContent":["import lodash from 'lodash';\nimport { memo, type ReactElement } from 'react';\nimport { numberFormat } from '../../utils/numberFormat';\nimport type { TrendsData } from '../linearRegression';\nimport type {\n AesGetters,\n ChartScales\n} from './types';\n\ninterface Props {\n trendsData: TrendsData[keyof TrendsData] | null;\n width: number;\n scales: ChartScales;\n aesGetters: AesGetters;\n}\n\nexport const ChartTrendsData = memo(({\n width,\n scales,\n trendsData,\n aesGetters,\n}: Props) => {\n return (trendsData &&\n trendsData.map(({predict, getArea, data, bounded, xBounds, stats}, idx) => {\n const [minX, maxX] = bounded ? xBounds : scales.x.domain();\n const step = (maxX - minX) / 15;\n const p1 = predict(minX);\n const p2 = predict(maxX);\n if (isNaN(p1) || isNaN(p2)) {\n return null;\n }\n const fillColor = aesGetters.trendColor(data);\n return (\n <g key={idx}>\n <text y={idx * 20 + 20} fill={fillColor} x={width - 8} textAnchor=\"end\">\n {formatStats(stats)}\n </text>\n <path\n d={getArea(scales.x, scales.y, lodash.range(minX, maxX + step / 2, step))}\n fill={fillColor}\n opacity={0.2}\n />\n <line\n x1={scales.x(minX)}\n x2={scales.x(maxX)}\n y1={scales.y(p1)}\n y2={scales.y(p2)}\n stroke={fillColor}\n />\n </g>\n );\n })\n );\n});\n\nfunction formatR2(stats: TrendsData[keyof TrendsData][number]['stats']) {\n if (typeof stats.r2 === 'undefined') {\n return null;\n }\n return (\n <>\n <tspan>R</tspan>\n <tspan fontSize=\"10px\" dy=\"-8\">\n 2\n </tspan>\n <tspan dy=\"8\">{` = ${numberFormat(stats.r2)}`}</tspan>\n </>\n );\n}\n\nfunction formatPValue(stats: TrendsData[keyof TrendsData][number]['stats']) {\n if (typeof stats.pValue === 'undefined') {\n return null;\n }\n return <tspan>{`p-value = ${numberFormat(stats.pValue)}`}</tspan>;\n}\n\nfunction formatCoefficients(stats: TrendsData[keyof TrendsData][number]['stats']) {\n if (typeof stats.coefficients === 'undefined') {\n return null;\n }\n const {slope, slopeError, intercept, interceptError} = stats.coefficients;\n return (\n <tspan>\n <tspan>\n {`slope = ${numberFormat(slope)} ± ${numberFormat(slopeError)}, intercept = ${numberFormat(intercept)} ± ${numberFormat(interceptError)}`}\n </tspan>\n </tspan>\n );\n}\n\nfunction formatStats(stats: TrendsData[keyof TrendsData][number]['stats']) {\n const items = [formatR2(stats), formatPValue(stats), formatCoefficients(stats)].filter(\n value => value !== null\n ) as unknown as ReactElement[];\n return (\n <>\n {items.map((item, idx) => (\n <tspan key={idx}>\n {item}\n <tspan>{idx < items.length - 1 && ', '}</tspan>\n </tspan>\n ))}\n </>\n );\n}\n\n"],"names":["ChartTrendsData","memo","width","scales","trendsData","aesGetters","predict","getArea","data","bounded","xBounds","stats","idx","minX","maxX","step","p1","p2","fillColor","jsx","formatStats","lodash","formatR2","jsxs","Fragment","numberFormat","formatPValue","formatCoefficients","slope","slopeError","intercept","interceptError","items","value","item"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LegendData } from '../../common/types';
|
|
2
|
+
import { ColumnName } from '../../types';
|
|
2
3
|
import { GroupedDots } from '../dots';
|
|
3
4
|
import { ScatterplotLayerData } from '../getLayersData';
|
|
4
5
|
import { TrendsData } from '../linearRegression';
|
|
5
6
|
import { ScatterplotSettingsImpl } from '../ScatterplotSettingsImpl';
|
|
6
|
-
import {
|
|
7
|
-
import { LegendData } from '../../common/types';
|
|
7
|
+
import { AesGetters, CaptionsSizes, ChartDimensionsData, ChartSizes, ChartsScales, Margins } from './types';
|
|
8
8
|
interface ChartsGroupProps {
|
|
9
9
|
chartSettings: ScatterplotSettingsImpl['chartSettings'];
|
|
10
10
|
facetSettings: ScatterplotSettingsImpl['facetSettings'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartsGroup.d.ts","sourceRoot":"","sources":["../../../src/scatterplot/components/ChartsGroup.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChartsGroup.d.ts","sourceRoot":"","sources":["../../../src/scatterplot/components/ChartsGroup.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAO,WAAW,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAG1E,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,OAAO,EACV,MAAM,SAAS,CAAC;AAEjB,UAAU,gBAAgB;IACtB,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACxD,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC;IACxD,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACtD,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE;QAAC,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;IACnD,UAAU,EAAE,UAAU,CAAC;IACvB,mBAAmB,EAAE,CAAC,CAAC,EAAC,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,wBAAgB,WAAW,CAAC,EACxB,UAAU,EACV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,MAAM,EACN,WAAW,EACX,UAAU,EACV,UAAU,EACV,YAAY,EACZ,OAAO,EACP,SAAS,EACT,SAAS,EACT,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,UAAU,EACV,mBAAmB,EACtB,EAAE,gBAAgB,2CAiFlB"}
|
|
@@ -1,96 +1,104 @@
|
|
|
1
1
|
import { j as r } from "../../node_modules/react/jsx-runtime.js";
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import { Legend as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
2
|
+
import { r as A } from "../../_virtual/index.js";
|
|
3
|
+
import { ChartsTitle as I } from "../../common/ChartsTitle.js";
|
|
4
|
+
import { ErrorBoundary as O } from "../../common/ErrorBoundary.js";
|
|
5
|
+
import G from "../../common/fonts.js";
|
|
6
|
+
import { Legend as N } from "../../common/Legend.js";
|
|
7
|
+
import { useTooltip as R } from "../../common/Tooltip.js";
|
|
8
|
+
import { LEGEND_OFFSET as _ } from "../constants.js";
|
|
9
|
+
import { Chart as q } from "./Chart.js";
|
|
10
|
+
import { ChartTooltip as J } from "./ChartTooltip.js";
|
|
11
|
+
function S({
|
|
12
|
+
settingsId: f,
|
|
13
|
+
chartSettings: g,
|
|
14
|
+
chartSizes: o,
|
|
15
|
+
chartsDimensions: e,
|
|
16
|
+
facetKeys: i,
|
|
17
|
+
facetSettings: x,
|
|
18
|
+
scales: d,
|
|
19
|
+
groupedDots: u,
|
|
20
|
+
legendData: j,
|
|
21
|
+
trendsData: s,
|
|
21
22
|
columnsCount: c,
|
|
22
|
-
margins:
|
|
23
|
-
keyColumn:
|
|
24
|
-
mainTitle:
|
|
23
|
+
margins: l,
|
|
24
|
+
keyColumn: w,
|
|
25
|
+
mainTitle: E,
|
|
25
26
|
facetTitles: T,
|
|
26
|
-
captionsSizes:
|
|
27
|
-
onlyPositive:
|
|
28
|
-
layersData:
|
|
29
|
-
aesGetters:
|
|
30
|
-
onTooltipHintSwitch:
|
|
27
|
+
captionsSizes: v,
|
|
28
|
+
onlyPositive: W,
|
|
29
|
+
layersData: C,
|
|
30
|
+
aesGetters: a,
|
|
31
|
+
onTooltipHintSwitch: F
|
|
31
32
|
}) {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
const { xAxis: L, yAxis: R, title: p, frame: A, legend: B, tooltips: D } = m, f = i[n[0]].padding, G = i[n[c - 1]].padding, I = t.chartsWidth + b, M = f.top;
|
|
37
|
-
return /* @__PURE__ */ r.jsx(J, { dataId: h, children: /* @__PURE__ */ r.jsxs(
|
|
33
|
+
const n = R(F), { xAxis: M, yAxis: $, title: p, frame: L, legend: H, tooltips: P } = g, h = e[i[0]].padding, B = e[i[c - 1]].padding, D = o.chartsWidth + _, b = h.top, m = A.useMemo(() => Object.fromEntries(
|
|
34
|
+
i.map((t) => [t, { x: d.x[t], y: d.y[t] }])
|
|
35
|
+
), [d, i]);
|
|
36
|
+
return /* @__PURE__ */ r.jsx(O, { dataId: f, children: /* @__PURE__ */ r.jsx("div", { style: { position: "relative", width: o.totalWidth, height: o.totalHeight }, children: /* @__PURE__ */ r.jsxs(
|
|
38
37
|
"svg",
|
|
39
38
|
{
|
|
40
39
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41
|
-
viewBox: `0 0 ${
|
|
42
|
-
width:
|
|
43
|
-
height:
|
|
40
|
+
viewBox: `0 0 ${o.totalWidth} ${o.totalHeight}`,
|
|
41
|
+
width: o.totalWidth,
|
|
42
|
+
height: o.totalHeight,
|
|
43
|
+
style: { position: "absolute", top: 0, left: 0, zIndex: 0 },
|
|
44
44
|
children: [
|
|
45
|
-
/* @__PURE__ */ r.jsx("defs", { children:
|
|
46
|
-
/* @__PURE__ */ r.jsxs("g", { transform: `translate(${
|
|
45
|
+
/* @__PURE__ */ r.jsx("defs", { children: G }),
|
|
46
|
+
/* @__PURE__ */ r.jsxs("g", { transform: `translate(${l.left},${l.top})`, fontFamily: "Manrope", children: [
|
|
47
47
|
/* @__PURE__ */ r.jsx(
|
|
48
|
-
|
|
48
|
+
I,
|
|
49
49
|
{
|
|
50
|
-
title:
|
|
50
|
+
title: E,
|
|
51
51
|
show: p.show,
|
|
52
52
|
position: p.position,
|
|
53
|
-
leftPadding:
|
|
54
|
-
rightPadding:
|
|
55
|
-
chartsWidth:
|
|
53
|
+
leftPadding: h.left,
|
|
54
|
+
rightPadding: B.right,
|
|
55
|
+
chartsWidth: o.chartsWidth
|
|
56
56
|
}
|
|
57
57
|
),
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
i.map((t) => /* @__PURE__ */ r.jsx(
|
|
59
|
+
q,
|
|
60
60
|
{
|
|
61
|
-
facetKey:
|
|
62
|
-
scales:
|
|
63
|
-
width:
|
|
64
|
-
height:
|
|
65
|
-
dimensions:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
layersData: W[o],
|
|
80
|
-
onlyPositive: E,
|
|
81
|
-
aesGetters: $,
|
|
82
|
-
tooltipsData: v
|
|
61
|
+
facetKey: t,
|
|
62
|
+
scales: m[t],
|
|
63
|
+
width: o.chartWidth,
|
|
64
|
+
height: o.chartHeight,
|
|
65
|
+
dimensions: e[t],
|
|
66
|
+
facetSettings: x,
|
|
67
|
+
xAxis: M,
|
|
68
|
+
yAxis: $,
|
|
69
|
+
frameType: L.type,
|
|
70
|
+
dotsData: u[t],
|
|
71
|
+
trendsData: s ? s[t] : null,
|
|
72
|
+
facetTitle: T[t],
|
|
73
|
+
captionsSizes: v,
|
|
74
|
+
layersData: C[t],
|
|
75
|
+
onlyPositive: W,
|
|
76
|
+
aesGetters: a,
|
|
77
|
+
onMouseEnterDot: n.onMouseEnter,
|
|
78
|
+
onMouseLeaveDot: n.onMouseLeave
|
|
83
79
|
},
|
|
84
|
-
|
|
80
|
+
t
|
|
85
81
|
)),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
H.show && /* @__PURE__ */ r.jsx("g", { transform: `translate(${D},${b})`, children: /* @__PURE__ */ r.jsx(N, { legendData: j }) }),
|
|
83
|
+
/* @__PURE__ */ r.jsx(
|
|
84
|
+
J,
|
|
85
|
+
{
|
|
86
|
+
tooltipsData: n,
|
|
87
|
+
dimensions: e[n.currentFacet],
|
|
88
|
+
scales: m[n.currentFacet],
|
|
89
|
+
keyColumn: w,
|
|
90
|
+
margins: l,
|
|
91
|
+
chartSizes: o,
|
|
92
|
+
tooltips: P,
|
|
93
|
+
aesGetters: a
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
] })
|
|
89
97
|
]
|
|
90
98
|
}
|
|
91
|
-
) });
|
|
99
|
+
) }) });
|
|
92
100
|
}
|
|
93
101
|
export {
|
|
94
|
-
|
|
102
|
+
S as ChartsGroup
|
|
95
103
|
};
|
|
96
104
|
//# sourceMappingURL=ChartsGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartsGroup.js","sources":["../../../src/scatterplot/components/ChartsGroup.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"ChartsGroup.js","sources":["../../../src/scatterplot/components/ChartsGroup.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { ChartsTitle } from '../../common/ChartsTitle';\nimport { ErrorBoundary } from '../../common/ErrorBoundary';\nimport fonts from '../../common/fonts';\nimport { Legend } from '../../common/Legend';\nimport { useTooltip } from '../../common/Tooltip';\nimport type { LegendData } from '../../common/types';\nimport type { ColumnName } from '../../types';\nimport { LEGEND_OFFSET } from '../constants';\nimport type { Dot, GroupedDots } from '../dots';\nimport type { ScatterplotLayerData } from '../getLayersData';\nimport type { TrendsData } from '../linearRegression';\nimport type { ScatterplotSettingsImpl } from '../ScatterplotSettingsImpl';\nimport { Chart } from './Chart';\nimport { ChartTooltip } from './ChartTooltip';\nimport type {\n AesGetters,\n CaptionsSizes,\n ChartDimensionsData,\n ChartSizes,\n ChartsScales,\n Margins,\n} from './types';\n\ninterface ChartsGroupProps {\n chartSettings: ScatterplotSettingsImpl['chartSettings'];\n facetSettings: ScatterplotSettingsImpl['facetSettings'];\n chartSizes: ChartSizes;\n chartsDimensions: Record<string, ChartDimensionsData>;\n scales: ChartsScales;\n facetKeys: string[];\n settingsId: string;\n groupedDots: GroupedDots;\n legendData: LegendData;\n trendsData: TrendsData | null;\n columnsCount: number;\n margins: Margins;\n keyColumn: ColumnName;\n mainTitle: string[];\n facetTitles: Record<string, string[]>;\n captionsSizes: CaptionsSizes;\n onlyPositive: {x: boolean, y: boolean};\n layersData: Record<string, ScatterplotLayerData[]>;\n aesGetters: AesGetters;\n onTooltipHintSwitch: (v:boolean) => void;\n}\n\nexport function ChartsGroup({\n settingsId,\n chartSettings,\n chartSizes,\n chartsDimensions,\n facetKeys,\n facetSettings,\n scales,\n groupedDots,\n legendData,\n trendsData,\n columnsCount,\n margins,\n keyColumn,\n mainTitle,\n facetTitles,\n captionsSizes,\n onlyPositive,\n layersData,\n aesGetters,\n onTooltipHintSwitch\n}: ChartsGroupProps) {\n const tooltipsData = useTooltip<Dot>(onTooltipHintSwitch);\n \n const {xAxis, yAxis, title, frame, legend, tooltips} = chartSettings;\n\n const leftTopChartPadding = chartsDimensions[facetKeys[0]].padding;\n const rightTopChartPadding = chartsDimensions[facetKeys[columnsCount - 1]].padding;\n\n const legendLeft = chartSizes.chartsWidth + LEGEND_OFFSET;\n const legendTop = leftTopChartPadding.top;\n\n const scalesByFacet = useMemo(() => {\n return Object.fromEntries(\n facetKeys.map(key => [key, {x: scales.x[key], y: scales.y[key]}])\n );\n }, [scales, facetKeys]);\n\n return (\n <ErrorBoundary dataId={settingsId}>\n <div style={{ position: 'relative', width: chartSizes.totalWidth, height: chartSizes.totalHeight }}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={`0 0 ${chartSizes.totalWidth} ${chartSizes.totalHeight}`}\n width={chartSizes.totalWidth}\n height={chartSizes.totalHeight}\n style={{ position: 'absolute', top: 0, left: 0, zIndex: 0 }}\n >\n <defs>{fonts}</defs>\n <g transform={`translate(${margins.left},${margins.top})`} fontFamily=\"Manrope\">\n <ChartsTitle\n title={mainTitle}\n show={title.show}\n position={title.position}\n leftPadding={leftTopChartPadding.left}\n rightPadding={rightTopChartPadding.right}\n chartsWidth={chartSizes.chartsWidth}\n />\n {facetKeys.map(key => (\n <Chart\n key={key}\n facetKey={key}\n scales={scalesByFacet[key]}\n width={chartSizes.chartWidth}\n height={chartSizes.chartHeight}\n dimensions={chartsDimensions[key]}\n facetSettings={facetSettings}\n xAxis={xAxis}\n yAxis={yAxis}\n frameType={frame.type}\n dotsData={groupedDots[key]}\n trendsData={trendsData ? trendsData[key] : null}\n facetTitle={facetTitles[key]}\n captionsSizes={captionsSizes}\n layersData={layersData[key]}\n onlyPositive={onlyPositive}\n aesGetters={aesGetters}\n onMouseEnterDot={tooltipsData.onMouseEnter}\n onMouseLeaveDot={tooltipsData.onMouseLeave}\n />\n ))}\n {legend.show && (\n <g transform={`translate(${legendLeft},${legendTop})`}>\n <Legend legendData={legendData} />\n </g>\n )}\n\n <ChartTooltip\n tooltipsData={tooltipsData}\n dimensions={chartsDimensions[tooltipsData.currentFacet]}\n scales={scalesByFacet[tooltipsData.currentFacet]}\n keyColumn={keyColumn}\n margins={margins}\n chartSizes={chartSizes}\n tooltips={tooltips}\n aesGetters={aesGetters}\n />\n </g>\n </svg>\n </div>\n </ErrorBoundary>\n );\n}\n"],"names":["ChartsGroup","settingsId","chartSettings","chartSizes","chartsDimensions","facetKeys","facetSettings","scales","groupedDots","legendData","trendsData","columnsCount","margins","keyColumn","mainTitle","facetTitles","captionsSizes","onlyPositive","layersData","aesGetters","onTooltipHintSwitch","tooltipsData","useTooltip","xAxis","yAxis","title","frame","legend","tooltips","leftTopChartPadding","rightTopChartPadding","legendLeft","LEGEND_OFFSET","legendTop","scalesByFacet","useMemo","key","ErrorBoundary","jsx","jsxs","fonts","ChartsTitle","Chart","Legend","ChartTooltip"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dots.d.ts","sourceRoot":"","sources":["../../src/scatterplot/dots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"dots.d.ts","sourceRoot":"","sources":["../../src/scatterplot/dots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,MAAM,GAAG,GAAG;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,GAAG,CAAA;CACZ,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAC5B,MAAM,EACN;IACI,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,GAAG,EAAE,CAAC;CACf,CACJ,CAAC;AAEF,wBAAgB,OAAO,CACnB,IAAI,EAAE,SAAS,EACf,qBAAqB,EAAE,MAAM,EAAE,EAAE,EACjC,CAAC,EAAE,UAAU,EACb,CAAC,EAAE,UAAU,EACb,KAAK,EAAE,UAAU,GAAG,IAAI,EACxB,SAAS,EAAE,UAAU,GAAG,IAAI,EAC5B,IAAI,EAAE,MAAM,EAAE,GACf,WAAW,CAkDb"}
|
package/dist/scatterplot/dots.js
CHANGED
|
@@ -1,30 +1,34 @@
|
|
|
1
|
-
function
|
|
2
|
-
const
|
|
3
|
-
|
|
1
|
+
function g(p, h, d, I, a, y, M) {
|
|
2
|
+
const x = {};
|
|
3
|
+
for (const v of h) {
|
|
4
4
|
const l = [];
|
|
5
|
-
let
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
let s = 1 / 0, i = 1 / 0, u = -1 / 0, c = -1 / 0;
|
|
6
|
+
const r = v.concat([""]);
|
|
7
|
+
for (const f of M) {
|
|
8
|
+
r[r.length - 1] = f;
|
|
9
|
+
const n = p.getRowsByGrouping(r);
|
|
10
|
+
for (let m = 0; m < n.length; m++) {
|
|
11
|
+
const t = n[m], e = t[d.value], o = t[I.value];
|
|
12
|
+
e === null && o === null || (s = Math.min(s, e), i = Math.min(i, o), u = Math.max(u, e), c = Math.max(c, o), l.push({
|
|
13
|
+
x: e,
|
|
14
|
+
y: o,
|
|
15
|
+
label: a ? t[a.valueLabels ?? a.value] : null,
|
|
16
|
+
dimmed: y ? !t[y.value] : !1,
|
|
15
17
|
data: t
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
l.sort((f, n) => f.x - n.x), x[v.join("_")] = {
|
|
22
|
+
minX: s,
|
|
23
|
+
maxX: u,
|
|
24
|
+
minY: i,
|
|
25
|
+
maxY: c,
|
|
23
26
|
dots: l
|
|
24
27
|
};
|
|
25
|
-
}
|
|
28
|
+
}
|
|
29
|
+
return x;
|
|
26
30
|
}
|
|
27
31
|
export {
|
|
28
|
-
|
|
32
|
+
g as getDots
|
|
29
33
|
};
|
|
30
34
|
//# sourceMappingURL=dots.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dots.js","sources":["../../src/scatterplot/dots.ts"],"sourcesContent":["import type {DataFrame} from '../DataFrame';\nimport type {ColumnName, DataValue, Row} from '../types';\n\nexport type Dot = {\n
|
|
1
|
+
{"version":3,"file":"dots.js","sources":["../../src/scatterplot/dots.ts"],"sourcesContent":["import type { DataFrame } from '../DataFrame';\nimport type { ColumnName, DataValue, Row } from '../types';\n\nexport type Dot = {\n x: number;\n y: number;\n label: DataValue | null;\n dimmed: boolean;\n data: Row\n};\n\nexport type GroupedDots = Record<\n string,\n {\n minX: number;\n maxX: number;\n minY: number;\n maxY: number;\n dots: Dot[];\n }\n>;\n\nexport function getDots(\n data: DataFrame,\n facetKeysCombinations: string[][],\n x: ColumnName,\n y: ColumnName,\n label: ColumnName | null,\n highlight: ColumnName | null,\n keys: string[]\n): GroupedDots {\n const result: GroupedDots = {};\n\n for (const facetKeys of facetKeysCombinations) {\n const dots: Dot[] = [];\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n\n const templateGroupPath = facetKeys.concat(['']);\n\n for (const primaryKey of keys) {\n templateGroupPath[templateGroupPath.length - 1] = primaryKey;\n const rows = data.getRowsByGrouping(templateGroupPath);\n\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n const valueX = row[x.value] as number;\n const valueY = row[y.value] as number;\n\n if (valueX === null && valueY === null) continue;\n\n minX = Math.min(minX, valueX);\n minY = Math.min(minY, valueY);\n maxX = Math.max(maxX, valueX);\n maxY = Math.max(maxY, valueY);\n \n dots.push({\n x: valueX,\n y: valueY,\n label: label ? row[label.valueLabels ?? label.value] : null,\n dimmed: highlight ? !row[highlight.value] : false,\n data: row\n });\n }\n }\n\n dots.sort((d1, d2) => d1.x - d2.x);\n\n result[facetKeys.join('_')] = {\n minX,\n maxX,\n minY,\n maxY,\n dots,\n };\n }\n\n return result;\n}\n"],"names":["getDots","data","facetKeysCombinations","x","y","label","highlight","keys","result","facetKeys","dots","minX","minY","maxX","maxY","templateGroupPath","primaryKey","rows","i","row","valueX","valueY","d1","d2"],"mappings":"AAsBO,SAASA,EACZC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACW;AACX,QAAMC,IAAsB,CAAA;AAE5B,aAAWC,KAAaP,GAAuB;AAC3C,UAAMQ,IAAc,CAAA;AACpB,QAAIC,IAAO,OACPC,IAAO,OACPC,IAAO,QACPC,IAAO;AAEX,UAAMC,IAAoBN,EAAU,OAAO,CAAC,EAAE,CAAC;AAE/C,eAAWO,KAAcT,GAAM;AAC3B,MAAAQ,EAAkBA,EAAkB,SAAS,CAAC,IAAIC;AAClD,YAAMC,IAAOhB,EAAK,kBAAkBc,CAAiB;AAErD,eAASG,IAAI,GAAGA,IAAID,EAAK,QAAQC,KAAK;AAClC,cAAMC,IAAMF,EAAKC,CAAC,GACZE,IAASD,EAAIhB,EAAE,KAAK,GACpBkB,IAASF,EAAIf,EAAE,KAAK;AAE1B,QAAIgB,MAAW,QAAQC,MAAW,SAElCV,IAAO,KAAK,IAAIA,GAAMS,CAAM,GAC5BR,IAAO,KAAK,IAAIA,GAAMS,CAAM,GAC5BR,IAAO,KAAK,IAAIA,GAAMO,CAAM,GAC5BN,IAAO,KAAK,IAAIA,GAAMO,CAAM,GAE5BX,EAAK,KAAK;AAAA,UACN,GAAGU;AAAA,UACH,GAAGC;AAAA,UACH,OAAOhB,IAAQc,EAAId,EAAM,eAAeA,EAAM,KAAK,IAAI;AAAA,UACvD,QAAQC,IAAY,CAACa,EAAIb,EAAU,KAAK,IAAI;AAAA,UAC5C,MAAMa;AAAA,QAAA,CACT;AAAA,MACL;AAAA,IACJ;AAEA,IAAAT,EAAK,KAAK,CAACY,GAAIC,MAAOD,EAAG,IAAIC,EAAG,CAAC,GAEjCf,EAAOC,EAAU,KAAK,GAAG,CAAC,IAAI;AAAA,MAC1B,MAAAE;AAAA,MACA,MAAAE;AAAA,MACA,MAAAD;AAAA,MACA,MAAAE;AAAA,MACA,MAAAJ;AAAA,IAAA;AAAA,EAER;AAEA,SAAOF;AACX;"}
|
|
@@ -8,7 +8,7 @@ import { CartesianChart } from '@d3fc/d3fc-chart/src/cartesian';
|
|
|
8
8
|
import { Quadtree } from 'd3-quadtree';
|
|
9
9
|
import { ReactElement } from 'react';
|
|
10
10
|
import { Root } from 'react-dom/client';
|
|
11
|
-
import { ZoomBehavior } from 'd3-zoom';
|
|
11
|
+
import { ZoomBehavior, ZoomTransform } from 'd3-zoom';
|
|
12
12
|
declare class ChartRenderer {
|
|
13
13
|
reactRoot: Root | null;
|
|
14
14
|
parentNode: HTMLElement | null;
|
|
@@ -34,6 +34,7 @@ declare class ChartRenderer {
|
|
|
34
34
|
onPolygonUpdateOutside: ScatterplotEventHandlers['onPolygonUpdate'];
|
|
35
35
|
onTooltipHintSwitch: ScatterplotEventHandlers['onTooltipHintSwitch'];
|
|
36
36
|
onLassoControlsStateUpdate: ScatterplotEventHandlers['onLassoControlsStateUpdate'];
|
|
37
|
+
zoomTransform: ZoomTransform | null;
|
|
37
38
|
zoomStateKey: string;
|
|
38
39
|
selectedDot: Dot | null;
|
|
39
40
|
captionsSizes: CaptionsSizes;
|
|
@@ -58,6 +59,7 @@ declare class ChartRenderer {
|
|
|
58
59
|
updateAes(legendInfo: ScatterplotUmapLegendInfo, layers: ScatterplotUmapSettingsImpl['layers']): void;
|
|
59
60
|
updatePointSize(): void;
|
|
60
61
|
updateByLasso(): void;
|
|
62
|
+
createQuadtree(dots: Dot[]): Quadtree<Dot>;
|
|
61
63
|
updateData(dots: Dot[]): void;
|
|
62
64
|
render(settingsId: string, chartSettings: ScatterplotUmapSettingsImpl['chartSettings'], keyColumn: ColumnName | null, onlyPositive: {
|
|
63
65
|
x: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartRenderer.d.ts","sourceRoot":"","sources":["../../src/scatterplot-umap/ChartRenderer.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACR,UAAU,EACV,aAAa,EACb,GAAG,EACH,WAAW,EACX,kBAAkB,EAClB,OAAO,EACP,aAAa,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,SAAS,CAAC;AAE9D,OAAO,KAAK,EAAC,UAAU,EAAa,MAAM,iBAAiB,CAAC;AAG5D,OAAO,KAAK,EAAwB,oBAAoB,EAAE,2BAA2B,EAAC,MAAM,gBAAgB,CAAC;AAI7G,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,uCAAuC,CAAC;AAEjE,OAAO,KAAK,EAAC,UAAU,EAAE,wBAAwB,EAAC,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,2BAA2B,CAAC;AAIzE,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAM1C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAE3C,OAAO,KAAK,EAAc,YAAY,EAAC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartRenderer.d.ts","sourceRoot":"","sources":["../../src/scatterplot-umap/ChartRenderer.tsx"],"names":[],"mappings":"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"}
|