@krizaka/charts 0.0.0-stage → 0.1.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/LICENSE +202 -0
- package/README.md +47 -2
- package/dist/bar.d.ts +17 -0
- package/dist/bar.js +16 -0
- package/dist/bar.js.map +1 -0
- package/dist/candlestick-IG626XL4.js +13 -0
- package/dist/candlestick-IG626XL4.js.map +1 -0
- package/dist/candlestick.d.ts +42 -0
- package/dist/candlestick.js +13 -0
- package/dist/candlestick.js.map +1 -0
- package/dist/canvas-4MSYDVFO.js +14 -0
- package/dist/canvas-4MSYDVFO.js.map +1 -0
- package/dist/cartesian-BRhNQ3ib.d.ts +34 -0
- package/dist/chart.d.ts +58 -0
- package/dist/chart.js +11 -0
- package/dist/chart.js.map +1 -0
- package/dist/chunk-3CJHBJXA.js +186 -0
- package/dist/chunk-3CJHBJXA.js.map +1 -0
- package/dist/chunk-6FINSUOS.js +49 -0
- package/dist/chunk-6FINSUOS.js.map +1 -0
- package/dist/chunk-7CSAGFBW.js +166 -0
- package/dist/chunk-7CSAGFBW.js.map +1 -0
- package/dist/chunk-7TIFCK5E.js +103 -0
- package/dist/chunk-7TIFCK5E.js.map +1 -0
- package/dist/chunk-AHQXJSAQ.js +38 -0
- package/dist/chunk-AHQXJSAQ.js.map +1 -0
- package/dist/chunk-ANUCSRUN.js +43 -0
- package/dist/chunk-ANUCSRUN.js.map +1 -0
- package/dist/chunk-BISL7DYW.js +66 -0
- package/dist/chunk-BISL7DYW.js.map +1 -0
- package/dist/chunk-BZ5CQFPH.js +19 -0
- package/dist/chunk-BZ5CQFPH.js.map +1 -0
- package/dist/chunk-DWJPPEMC.js +455 -0
- package/dist/chunk-DWJPPEMC.js.map +1 -0
- package/dist/chunk-DZB6HEVO.js +73 -0
- package/dist/chunk-DZB6HEVO.js.map +1 -0
- package/dist/chunk-EK3Z647J.js +133 -0
- package/dist/chunk-EK3Z647J.js.map +1 -0
- package/dist/chunk-I5QUZVU2.js +234 -0
- package/dist/chunk-I5QUZVU2.js.map +1 -0
- package/dist/chunk-OB5EFDDH.js +118 -0
- package/dist/chunk-OB5EFDDH.js.map +1 -0
- package/dist/chunk-OER6ETT4.js +155 -0
- package/dist/chunk-OER6ETT4.js.map +1 -0
- package/dist/chunk-PTSB3H5Q.js +205 -0
- package/dist/chunk-PTSB3H5Q.js.map +1 -0
- package/dist/chunk-TPJDOB7R.js +15 -0
- package/dist/chunk-TPJDOB7R.js.map +1 -0
- package/dist/chunk-UNK4MJVG.js +378 -0
- package/dist/chunk-UNK4MJVG.js.map +1 -0
- package/dist/chunk-VKO2OYYM.js +88 -0
- package/dist/chunk-VKO2OYYM.js.map +1 -0
- package/dist/chunk-VKTZD7UT.js +107 -0
- package/dist/chunk-VKTZD7UT.js.map +1 -0
- package/dist/chunk-W5FX4TU3.js +102 -0
- package/dist/chunk-W5FX4TU3.js.map +1 -0
- package/dist/chunk-WBH2QU77.js +178 -0
- package/dist/chunk-WBH2QU77.js.map +1 -0
- package/dist/chunk-WIRCIOLH.js +145 -0
- package/dist/chunk-WIRCIOLH.js.map +1 -0
- package/dist/chunk-XAJ3KCC4.js +116 -0
- package/dist/chunk-XAJ3KCC4.js.map +1 -0
- package/dist/chunk-XC6BQ3RN.js +92 -0
- package/dist/chunk-XC6BQ3RN.js.map +1 -0
- package/dist/chunk-XLLYNNC6.js +89 -0
- package/dist/chunk-XLLYNNC6.js.map +1 -0
- package/dist/chunk-XR4ZJDOV.js +15 -0
- package/dist/chunk-XR4ZJDOV.js.map +1 -0
- package/dist/context-BgYUymEO.d.ts +163 -0
- package/dist/frame-I7_xYGy5.d.ts +45 -0
- package/dist/full-S2MBPEEP.js +11 -0
- package/dist/full-S2MBPEEP.js.map +1 -0
- package/dist/funnel-QU5ZPC52.js +13 -0
- package/dist/funnel-QU5ZPC52.js.map +1 -0
- package/dist/funnel.d.ts +26 -0
- package/dist/funnel.js +13 -0
- package/dist/funnel.js.map +1 -0
- package/dist/gauge.d.ts +38 -0
- package/dist/gauge.js +12 -0
- package/dist/gauge.js.map +1 -0
- package/dist/geo.d.ts +37 -0
- package/dist/geo.js +13 -0
- package/dist/geo.js.map +1 -0
- package/dist/globe.d.ts +36 -0
- package/dist/globe.js +12 -0
- package/dist/globe.js.map +1 -0
- package/dist/heatmap-JWQOKUGM.js +13 -0
- package/dist/heatmap-JWQOKUGM.js.map +1 -0
- package/dist/heatmap.d.ts +47 -0
- package/dist/heatmap.js +15 -0
- package/dist/heatmap.js.map +1 -0
- package/dist/host-_F8RgiIz.d.ts +15 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +101 -0
- package/dist/index.js.map +1 -0
- package/dist/line.d.ts +25 -0
- package/dist/line.js +18 -0
- package/dist/line.js.map +1 -0
- package/dist/native.d.ts +300 -0
- package/dist/native.js +875 -0
- package/dist/native.js.map +1 -0
- package/dist/pie.d.ts +37 -0
- package/dist/pie.js +16 -0
- package/dist/pie.js.map +1 -0
- package/dist/provider.d.ts +73 -0
- package/dist/provider.js +24 -0
- package/dist/provider.js.map +1 -0
- package/dist/radar-75GRJ2IK.js +13 -0
- package/dist/radar-75GRJ2IK.js.map +1 -0
- package/dist/radar.d.ts +22 -0
- package/dist/radar.js +13 -0
- package/dist/radar.js.map +1 -0
- package/dist/sankey-XQTX2EG6.js +13 -0
- package/dist/sankey-XQTX2EG6.js.map +1 -0
- package/dist/sankey.d.ts +28 -0
- package/dist/sankey.js +13 -0
- package/dist/sankey.js.map +1 -0
- package/dist/scatter-XSNG4OKD.js +13 -0
- package/dist/scatter-XSNG4OKD.js.map +1 -0
- package/dist/scatter.d.ts +41 -0
- package/dist/scatter.js +15 -0
- package/dist/scatter.js.map +1 -0
- package/dist/sparkline.d.ts +26 -0
- package/dist/sparkline.js +15 -0
- package/dist/sparkline.js.map +1 -0
- package/dist/svg-BJUHYX3B.js +14 -0
- package/dist/svg-BJUHYX3B.js.map +1 -0
- package/dist/treemap-OMGGGB5U.js +13 -0
- package/dist/treemap-OMGGGB5U.js.map +1 -0
- package/dist/treemap.d.ts +24 -0
- package/dist/treemap.js +14 -0
- package/dist/treemap.js.map +1 -0
- package/dist/world-110m-DVFWXS42.js +18 -0
- package/dist/world-110m-DVFWXS42.js.map +1 -0
- package/package.json +518 -3
- package/registry/area-chart.json +784 -0
- package/registry/bar-chart.json +783 -0
- package/registry/calendar-heatmap.json +459 -0
- package/registry/candlestick.json +552 -0
- package/registry/chart.json +440 -0
- package/registry/charts-provider.json +190 -0
- package/registry/examples/area-chart/credits-usage.d.ts +4 -0
- package/registry/examples/area-chart/credits-usage.js +38 -0
- package/registry/examples/area-chart/credits-usage.tsx +32 -0
- package/registry/examples/area-chart/native/credits-usage.d.ts +4 -0
- package/registry/examples/area-chart/native/credits-usage.dark.png +0 -0
- package/registry/examples/area-chart/native/credits-usage.js +33 -0
- package/registry/examples/area-chart/native/credits-usage.light.png +0 -0
- package/registry/examples/area-chart/native/credits-usage.tsx +27 -0
- package/registry/examples/area-chart/storage.d.ts +4 -0
- package/registry/examples/area-chart/storage.js +27 -0
- package/registry/examples/area-chart/storage.tsx +21 -0
- package/registry/examples/bar-chart/jobs-by-status.d.ts +4 -0
- package/registry/examples/bar-chart/jobs-by-status.js +37 -0
- package/registry/examples/bar-chart/jobs-by-status.tsx +31 -0
- package/registry/examples/bar-chart/native/jobs-by-status.d.ts +4 -0
- package/registry/examples/bar-chart/native/jobs-by-status.dark.png +0 -0
- package/registry/examples/bar-chart/native/jobs-by-status.js +32 -0
- package/registry/examples/bar-chart/native/jobs-by-status.light.png +0 -0
- package/registry/examples/bar-chart/native/jobs-by-status.tsx +26 -0
- package/registry/examples/bar-chart/plans-by-quarter.d.ts +4 -0
- package/registry/examples/bar-chart/plans-by-quarter.js +31 -0
- package/registry/examples/bar-chart/plans-by-quarter.tsx +26 -0
- package/registry/examples/bar-chart/top-supporters.d.ts +4 -0
- package/registry/examples/bar-chart/top-supporters.js +32 -0
- package/registry/examples/bar-chart/top-supporters.tsx +27 -0
- package/registry/examples/calendar-heatmap/publishing.d.ts +4 -0
- package/registry/examples/calendar-heatmap/publishing.js +28 -0
- package/registry/examples/calendar-heatmap/publishing.tsx +23 -0
- package/registry/examples/candlestick/auction-bids.d.ts +4 -0
- package/registry/examples/candlestick/auction-bids.js +37 -0
- package/registry/examples/candlestick/auction-bids.tsx +32 -0
- package/registry/examples/chart/polar-uploads.d.ts +4 -0
- package/registry/examples/chart/polar-uploads.js +34 -0
- package/registry/examples/chart/polar-uploads.tsx +30 -0
- package/registry/examples/charts-provider/french-orazaka.d.ts +4 -0
- package/registry/examples/charts-provider/french-orazaka.js +26 -0
- package/registry/examples/charts-provider/french-orazaka.tsx +22 -0
- package/registry/examples/charts-provider/native/french-orazaka.d.ts +4 -0
- package/registry/examples/charts-provider/native/french-orazaka.dark.png +0 -0
- package/registry/examples/charts-provider/native/french-orazaka.js +17 -0
- package/registry/examples/charts-provider/native/french-orazaka.light.png +0 -0
- package/registry/examples/charts-provider/native/french-orazaka.tsx +17 -0
- package/registry/examples/funnel/signup.d.ts +4 -0
- package/registry/examples/funnel/signup.js +30 -0
- package/registry/examples/funnel/signup.tsx +24 -0
- package/registry/examples/gauge/challenge-goal.d.ts +4 -0
- package/registry/examples/gauge/challenge-goal.js +24 -0
- package/registry/examples/gauge/challenge-goal.tsx +18 -0
- package/registry/examples/gauge/credits-quota.d.ts +4 -0
- package/registry/examples/gauge/credits-quota.js +26 -0
- package/registry/examples/gauge/credits-quota.tsx +19 -0
- package/registry/examples/gauge/native/credits-quota.d.ts +4 -0
- package/registry/examples/gauge/native/credits-quota.dark.png +0 -0
- package/registry/examples/gauge/native/credits-quota.js +25 -0
- package/registry/examples/gauge/native/credits-quota.light.png +0 -0
- package/registry/examples/gauge/native/credits-quota.tsx +18 -0
- package/registry/examples/geo-map/viewers.d.ts +4 -0
- package/registry/examples/geo-map/viewers.js +43 -0
- package/registry/examples/geo-map/viewers.tsx +29 -0
- package/registry/examples/globe/deployment-regions.d.ts +4 -0
- package/registry/examples/globe/deployment-regions.js +36 -0
- package/registry/examples/globe/deployment-regions.tsx +30 -0
- package/registry/examples/heatmap/upload-activity.d.ts +4 -0
- package/registry/examples/heatmap/upload-activity.js +30 -0
- package/registry/examples/heatmap/upload-activity.tsx +25 -0
- package/registry/examples/line-chart/creator-earnings.d.ts +4 -0
- package/registry/examples/line-chart/creator-earnings.js +35 -0
- package/registry/examples/line-chart/creator-earnings.tsx +30 -0
- package/registry/examples/line-chart/forecast.d.ts +4 -0
- package/registry/examples/line-chart/forecast.js +36 -0
- package/registry/examples/line-chart/forecast.tsx +30 -0
- package/registry/examples/line-chart/live-jobs.d.ts +4 -0
- package/registry/examples/line-chart/live-jobs.js +21 -0
- package/registry/examples/line-chart/live-jobs.tsx +23 -0
- package/registry/examples/line-chart/native/creator-earnings.d.ts +4 -0
- package/registry/examples/line-chart/native/creator-earnings.dark.png +0 -0
- package/registry/examples/line-chart/native/creator-earnings.js +32 -0
- package/registry/examples/line-chart/native/creator-earnings.light.png +0 -0
- package/registry/examples/line-chart/native/creator-earnings.tsx +26 -0
- package/registry/examples/line-chart/states.d.ts +4 -0
- package/registry/examples/line-chart/states.js +16 -0
- package/registry/examples/line-chart/states.tsx +13 -0
- package/registry/examples/pie-chart/credit-spend.d.ts +4 -0
- package/registry/examples/pie-chart/credit-spend.js +30 -0
- package/registry/examples/pie-chart/credit-spend.tsx +24 -0
- package/registry/examples/pie-chart/native/credit-spend.d.ts +4 -0
- package/registry/examples/pie-chart/native/credit-spend.dark.png +0 -0
- package/registry/examples/pie-chart/native/credit-spend.js +17 -0
- package/registry/examples/pie-chart/native/credit-spend.light.png +0 -0
- package/registry/examples/pie-chart/native/credit-spend.tsx +12 -0
- package/registry/examples/pie-chart/storage-by-kind.d.ts +4 -0
- package/registry/examples/pie-chart/storage-by-kind.js +31 -0
- package/registry/examples/pie-chart/storage-by-kind.tsx +26 -0
- package/registry/examples/radar-chart/model-comparison.d.ts +4 -0
- package/registry/examples/radar-chart/model-comparison.js +33 -0
- package/registry/examples/radar-chart/model-comparison.tsx +28 -0
- package/registry/examples/sankey/credit-flow.d.ts +4 -0
- package/registry/examples/sankey/credit-flow.js +37 -0
- package/registry/examples/sankey/credit-flow.tsx +32 -0
- package/registry/examples/scatter-chart/watch-time.d.ts +4 -0
- package/registry/examples/scatter-chart/watch-time.js +36 -0
- package/registry/examples/scatter-chart/watch-time.tsx +31 -0
- package/registry/examples/sparkline/bars.d.ts +4 -0
- package/registry/examples/sparkline/bars.js +12 -0
- package/registry/examples/sparkline/bars.tsx +7 -0
- package/registry/examples/sparkline/native/stat-trend.d.ts +4 -0
- package/registry/examples/sparkline/native/stat-trend.dark.png +0 -0
- package/registry/examples/sparkline/native/stat-trend.js +12 -0
- package/registry/examples/sparkline/native/stat-trend.light.png +0 -0
- package/registry/examples/sparkline/native/stat-trend.tsx +7 -0
- package/registry/examples/sparkline/stat-trend.d.ts +4 -0
- package/registry/examples/sparkline/stat-trend.js +18 -0
- package/registry/examples/sparkline/stat-trend.tsx +15 -0
- package/registry/examples/sparkline/table-rows.d.ts +4 -0
- package/registry/examples/sparkline/table-rows.js +23 -0
- package/registry/examples/sparkline/table-rows.tsx +26 -0
- package/registry/examples/treemap/storage.d.ts +4 -0
- package/registry/examples/treemap/storage.js +17 -0
- package/registry/examples/treemap/storage.tsx +13 -0
- package/registry/funnel.json +486 -0
- package/registry/gauge.json +599 -0
- package/registry/geo-map.json +483 -0
- package/registry/globe.json +468 -0
- package/registry/heatmap.json +530 -0
- package/registry/index.json +420 -0
- package/registry/line-chart.json +792 -0
- package/registry/pie-chart.json +1287 -0
- package/registry/radar-chart.json +458 -0
- package/registry/sankey.json +502 -0
- package/registry/scatter-chart.json +558 -0
- package/registry/sparkline.json +562 -0
- package/registry/treemap.json +431 -0
|
@@ -0,0 +1,558 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "scatter-chart",
|
|
3
|
+
"package": "@krizaka/charts",
|
|
4
|
+
"type": "chart",
|
|
5
|
+
"title": "Scatter chart",
|
|
6
|
+
"summary": "The relation between two measures, a bubble's area for a third, a colour per group, and the correlation said in words.",
|
|
7
|
+
"description": "The relation between two measures, a bubble's area for a third, a colour per group, and the correlation said in words.",
|
|
8
|
+
"status": "beta",
|
|
9
|
+
"category": "charts",
|
|
10
|
+
"platforms": "web",
|
|
11
|
+
"engine": "echarts",
|
|
12
|
+
"whenToUse": [
|
|
13
|
+
"Whether two measures move together: a video's length and its watch time, a job's input and its duration.",
|
|
14
|
+
"Outliers in a population."
|
|
15
|
+
],
|
|
16
|
+
"whenNotToUse": [
|
|
17
|
+
{
|
|
18
|
+
"when": "A trend over time.",
|
|
19
|
+
"use": "line-chart"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"when": "Measures of a few entities on a common scale.",
|
|
23
|
+
"use": "radar-chart"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"bestPractices": [
|
|
27
|
+
"Keep to three groups: past that, colours stop reading apart for everyone.",
|
|
28
|
+
"Use `renderer=\"canvas\"` past a few thousand points."
|
|
29
|
+
],
|
|
30
|
+
"accessibility": {
|
|
31
|
+
"keyboard": [
|
|
32
|
+
{
|
|
33
|
+
"keys": "Tab",
|
|
34
|
+
"action": "Moves the focus to the plot (one tab stop), then to the data and export buttons."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"keys": "Arrow keys",
|
|
38
|
+
"action": "Walk the items one by one: each is announced and highlighted, its tooltip shown."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"keys": "Home / End",
|
|
42
|
+
"action": "Jump to the first or the last item."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"keys": "Esc",
|
|
46
|
+
"action": "Hides the tooltip and clears the highlight."
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"notes": [
|
|
50
|
+
"The plot is a group named by the title and described by a summary written from the data, read before anything else.",
|
|
51
|
+
"The data table is always in the page for assistive technology; “Show data” reveals it for everyone.",
|
|
52
|
+
"The engine (ECharts core and this one chart type) loads when the chart nears the screen; a skeleton of the same height holds its place, so nothing shifts.",
|
|
53
|
+
"Under reduced motion the chart is drawn without animation.",
|
|
54
|
+
"The summary gives both ranges and Pearson's correlation."
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"related": [
|
|
58
|
+
"line-chart",
|
|
59
|
+
"radar-chart",
|
|
60
|
+
"heatmap"
|
|
61
|
+
],
|
|
62
|
+
"source": "packages/charts/src/meta/scatter-chart.ts",
|
|
63
|
+
"install": {
|
|
64
|
+
"web": "npm install @krizaka/charts",
|
|
65
|
+
"native": "npx expo install react-native-svg\nnpm install @krizaka/charts"
|
|
66
|
+
},
|
|
67
|
+
"web": {
|
|
68
|
+
"entry": "@krizaka/charts/scatter",
|
|
69
|
+
"import": "import { ScatterChart } from \"@krizaka/charts/scatter\";",
|
|
70
|
+
"props": [
|
|
71
|
+
{
|
|
72
|
+
"component": "ScatterChart",
|
|
73
|
+
"description": "",
|
|
74
|
+
"props": [
|
|
75
|
+
{
|
|
76
|
+
"name": "data",
|
|
77
|
+
"type": "readonly T[]",
|
|
78
|
+
"default": null,
|
|
79
|
+
"description": "One row per point.",
|
|
80
|
+
"required": true
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "title",
|
|
84
|
+
"type": "string",
|
|
85
|
+
"default": null,
|
|
86
|
+
"description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
|
|
87
|
+
"required": true
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "x",
|
|
91
|
+
"type": "string | ((datum: T, index: number) => number)",
|
|
92
|
+
"default": null,
|
|
93
|
+
"description": "The fields of the two measures.",
|
|
94
|
+
"required": true
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "xLabel",
|
|
98
|
+
"type": "string",
|
|
99
|
+
"default": null,
|
|
100
|
+
"description": "The names of the measures: the axes, the tooltip, the table.",
|
|
101
|
+
"required": true
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "y",
|
|
105
|
+
"type": "string | ((datum: T, index: number) => number)",
|
|
106
|
+
"default": null,
|
|
107
|
+
"description": "The field of the vertical measure.",
|
|
108
|
+
"required": true
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "yLabel",
|
|
112
|
+
"type": "string",
|
|
113
|
+
"default": null,
|
|
114
|
+
"description": "The name of the vertical measure.",
|
|
115
|
+
"required": true
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "brand",
|
|
119
|
+
"type": "BrandId",
|
|
120
|
+
"default": null,
|
|
121
|
+
"description": "The brand whose palette the charts use. Without it, a chart follows a `.brand-<id>` ancestor, else Krizaka. Set it\nwhen the app loads a brand stylesheet on `:root` (`@krizaka/tokens/brands/orazaka.css`).",
|
|
122
|
+
"required": false
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "className",
|
|
126
|
+
"type": "string",
|
|
127
|
+
"default": null,
|
|
128
|
+
"description": "A class on the figure (layout: margins, grid placement).",
|
|
129
|
+
"required": false
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "dataTable",
|
|
133
|
+
"type": "boolean",
|
|
134
|
+
"default": null,
|
|
135
|
+
"description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
|
|
136
|
+
"required": false
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "description",
|
|
140
|
+
"type": "ReactNode",
|
|
141
|
+
"default": null,
|
|
142
|
+
"description": "A sentence under the title: the period, the unit, the source.",
|
|
143
|
+
"required": false
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "empty",
|
|
147
|
+
"type": "ReactNode",
|
|
148
|
+
"default": null,
|
|
149
|
+
"description": "What to show when there is nothing to draw (default: the `empty` label). An `EmptyState` of\n@krizaka /ui fits.",
|
|
150
|
+
"required": false
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"name": "error",
|
|
154
|
+
"type": "ReactNode",
|
|
155
|
+
"default": null,
|
|
156
|
+
"description": "The data could not be loaded: `true` says the default words, a node says yours (a retry button…).",
|
|
157
|
+
"required": false
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"name": "exportable",
|
|
161
|
+
"type": "boolean | readonly ExportFormat[]",
|
|
162
|
+
"default": null,
|
|
163
|
+
"description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
|
|
164
|
+
"required": false
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"name": "group",
|
|
168
|
+
"type": "string | ((datum: T, index: number) => string)",
|
|
169
|
+
"default": null,
|
|
170
|
+
"description": "The field of a point's group: one colour per group (three at most read apart for everyone).",
|
|
171
|
+
"required": false
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "height",
|
|
175
|
+
"type": "number",
|
|
176
|
+
"default": null,
|
|
177
|
+
"description": "The height of the plot in pixels. Default 280 (a sparkline: 32).",
|
|
178
|
+
"required": false
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "hideTitle",
|
|
182
|
+
"type": "boolean",
|
|
183
|
+
"default": null,
|
|
184
|
+
"description": "Visually hide the title (it stays the chart's accessible name): a card that already has its heading.",
|
|
185
|
+
"required": false
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"name": "id",
|
|
189
|
+
"type": "string",
|
|
190
|
+
"default": null,
|
|
191
|
+
"description": "The id of the figure.",
|
|
192
|
+
"required": false
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "labels",
|
|
196
|
+
"type": "ChartLabelsInput",
|
|
197
|
+
"default": null,
|
|
198
|
+
"description": "The words, translated: the buttons, the states, the written summary.",
|
|
199
|
+
"required": false
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"name": "live",
|
|
203
|
+
"type": "boolean",
|
|
204
|
+
"default": null,
|
|
205
|
+
"description": "Streaming data (a job queue, an auction): no entrance on updates, no announcement of every new point.",
|
|
206
|
+
"required": false
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"name": "loading",
|
|
210
|
+
"type": "boolean",
|
|
211
|
+
"default": null,
|
|
212
|
+
"description": "The data is on its way: a skeleton of the chart, announced once.",
|
|
213
|
+
"required": false
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"name": "locale",
|
|
217
|
+
"type": "Locale",
|
|
218
|
+
"default": null,
|
|
219
|
+
"description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
|
|
220
|
+
"required": false
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "name",
|
|
224
|
+
"type": "string | ((datum: T, index: number) => string)",
|
|
225
|
+
"default": null,
|
|
226
|
+
"description": "The field naming a point (the tooltip's title).",
|
|
227
|
+
"required": false
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "renderer",
|
|
231
|
+
"type": "Renderer",
|
|
232
|
+
"default": null,
|
|
233
|
+
"description": "`svg` (default): sharp, exportable as SVG. `canvas`: for tens of thousands of marks.",
|
|
234
|
+
"required": false
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
"name": "size",
|
|
238
|
+
"type": "string | ((datum: T, index: number) => number)",
|
|
239
|
+
"default": null,
|
|
240
|
+
"description": "A third measure, drawn as the bubble's area.",
|
|
241
|
+
"required": false
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"name": "sizeFormat",
|
|
245
|
+
"type": "ValueFormat",
|
|
246
|
+
"default": null,
|
|
247
|
+
"description": "How the third measure (the bubbles) is written.",
|
|
248
|
+
"required": false
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "sizeLabel",
|
|
252
|
+
"type": "string",
|
|
253
|
+
"default": null,
|
|
254
|
+
"description": "The name of the third measure.",
|
|
255
|
+
"required": false
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"name": "style",
|
|
259
|
+
"type": "CSSProperties",
|
|
260
|
+
"default": null,
|
|
261
|
+
"description": "Inline style on the figure (layout only: colours come from the tokens).",
|
|
262
|
+
"required": false
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "summary",
|
|
266
|
+
"type": "\"hidden\" | \"visible\"",
|
|
267
|
+
"default": null,
|
|
268
|
+
"description": "The written summary: read by screen readers only (`\"hidden\"`, default), or shown under the chart (`\"visible\"`).",
|
|
269
|
+
"required": false
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"name": "summaryText",
|
|
273
|
+
"type": "string",
|
|
274
|
+
"default": null,
|
|
275
|
+
"description": "Your own summary instead of the generated one (still read first by screen readers).",
|
|
276
|
+
"required": false
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"name": "thresholds",
|
|
280
|
+
"type": "readonly Threshold[]",
|
|
281
|
+
"default": null,
|
|
282
|
+
"description": "Horizontal lines at a y value.",
|
|
283
|
+
"required": false
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"name": "xFormat",
|
|
287
|
+
"type": "ValueFormat",
|
|
288
|
+
"default": null,
|
|
289
|
+
"description": "How each measure is written.",
|
|
290
|
+
"required": false
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"name": "yFormat",
|
|
294
|
+
"type": "ValueFormat",
|
|
295
|
+
"default": null,
|
|
296
|
+
"description": "How the vertical measure is written.",
|
|
297
|
+
"required": false
|
|
298
|
+
}
|
|
299
|
+
]
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
"examples": [
|
|
303
|
+
{
|
|
304
|
+
"name": "watch-time",
|
|
305
|
+
"title": "Length and watch time",
|
|
306
|
+
"description": "Orochia videos: length against average watch time, bubbles by views, a colour per format.",
|
|
307
|
+
"path": "examples/scatter-chart/watch-time.tsx",
|
|
308
|
+
"module": "@krizaka/charts/registry/examples/scatter-chart/watch-time",
|
|
309
|
+
"code": "import { ScatterChart } from \"@krizaka/charts/scatter\";\n\nconst formats = [\"Short\", \"Tutorial\", \"Documentary\"] as const;\n// 36 deterministic videos: longer videos are watched longer, documentaries most.\nconst videos = Array.from({ length: 36 }, (_, i) => {\n const format = formats[i % 3]!;\n const minutes = format === \"Short\" ? 1 + (i % 4) : format === \"Tutorial\" ? 8 + ((i * 7) % 18) : 22 + ((i * 5) % 30);\n const watched = minutes * (format === \"Documentary\" ? 0.62 : format === \"Tutorial\" ? 0.48 : 0.81) + ((i * 13) % 5) - 2;\n return { title: `Video ${i + 1}`, format, minutes, watched: Math.max(0.5, watched), views: 800 + ((i * 977) % 9_000) };\n});\n\nexport default function WatchTime() {\n return (\n <ScatterChart\n title=\"Length and watch time\"\n description=\"Last 36 videos · bubble area = views\"\n data={videos}\n x=\"minutes\"\n y=\"watched\"\n size=\"views\"\n group=\"format\"\n name=\"title\"\n xLabel=\"Length (min)\"\n yLabel=\"Average watch (min)\"\n sizeLabel=\"Views\"\n xFormat=\"integer\"\n yFormat={{ style: \"number\", options: { maximumFractionDigits: 1 } }}\n sizeFormat=\"compact\"\n />\n );\n}\n"
|
|
310
|
+
}
|
|
311
|
+
]
|
|
312
|
+
},
|
|
313
|
+
"native": null,
|
|
314
|
+
"files": [],
|
|
315
|
+
"dependencies": [
|
|
316
|
+
"@krizaka/intl@workspace:^",
|
|
317
|
+
"d3-geo@^3.1.1",
|
|
318
|
+
"echarts@^6.1.0",
|
|
319
|
+
"topojson-client@^3.1.0"
|
|
320
|
+
],
|
|
321
|
+
"registryDependencies": [],
|
|
322
|
+
"demo": {
|
|
323
|
+
"path": "examples/scatter-chart/watch-time.tsx",
|
|
324
|
+
"content": "import { ScatterChart } from \"@krizaka/charts/scatter\";\n\nconst formats = [\"Short\", \"Tutorial\", \"Documentary\"] as const;\n// 36 deterministic videos: longer videos are watched longer, documentaries most.\nconst videos = Array.from({ length: 36 }, (_, i) => {\n const format = formats[i % 3]!;\n const minutes = format === \"Short\" ? 1 + (i % 4) : format === \"Tutorial\" ? 8 + ((i * 7) % 18) : 22 + ((i * 5) % 30);\n const watched = minutes * (format === \"Documentary\" ? 0.62 : format === \"Tutorial\" ? 0.48 : 0.81) + ((i * 13) % 5) - 2;\n return { title: `Video ${i + 1}`, format, minutes, watched: Math.max(0.5, watched), views: 800 + ((i * 977) % 9_000) };\n});\n\nexport default function WatchTime() {\n return (\n <ScatterChart\n title=\"Length and watch time\"\n description=\"Last 36 videos · bubble area = views\"\n data={videos}\n x=\"minutes\"\n y=\"watched\"\n size=\"views\"\n group=\"format\"\n name=\"title\"\n xLabel=\"Length (min)\"\n yLabel=\"Average watch (min)\"\n sizeLabel=\"Views\"\n xFormat=\"integer\"\n yFormat={{ style: \"number\", options: { maximumFractionDigits: 1 } }}\n sizeFormat=\"compact\"\n />\n );\n}\n"
|
|
325
|
+
},
|
|
326
|
+
"props": [
|
|
327
|
+
{
|
|
328
|
+
"component": "ScatterChart",
|
|
329
|
+
"description": "",
|
|
330
|
+
"props": [
|
|
331
|
+
{
|
|
332
|
+
"name": "data",
|
|
333
|
+
"type": "readonly T[]",
|
|
334
|
+
"default": null,
|
|
335
|
+
"description": "One row per point.",
|
|
336
|
+
"required": true
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"name": "title",
|
|
340
|
+
"type": "string",
|
|
341
|
+
"default": null,
|
|
342
|
+
"description": "What the chart shows, in a few words: its accessible name, and its heading unless `hideTitle`.",
|
|
343
|
+
"required": true
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"name": "x",
|
|
347
|
+
"type": "string | ((datum: T, index: number) => number)",
|
|
348
|
+
"default": null,
|
|
349
|
+
"description": "The fields of the two measures.",
|
|
350
|
+
"required": true
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"name": "xLabel",
|
|
354
|
+
"type": "string",
|
|
355
|
+
"default": null,
|
|
356
|
+
"description": "The names of the measures: the axes, the tooltip, the table.",
|
|
357
|
+
"required": true
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"name": "y",
|
|
361
|
+
"type": "string | ((datum: T, index: number) => number)",
|
|
362
|
+
"default": null,
|
|
363
|
+
"description": "The field of the vertical measure.",
|
|
364
|
+
"required": true
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"name": "yLabel",
|
|
368
|
+
"type": "string",
|
|
369
|
+
"default": null,
|
|
370
|
+
"description": "The name of the vertical measure.",
|
|
371
|
+
"required": true
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"name": "brand",
|
|
375
|
+
"type": "BrandId",
|
|
376
|
+
"default": null,
|
|
377
|
+
"description": "The brand whose palette the charts use. Without it, a chart follows a `.brand-<id>` ancestor, else Krizaka. Set it\nwhen the app loads a brand stylesheet on `:root` (`@krizaka/tokens/brands/orazaka.css`).",
|
|
378
|
+
"required": false
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"name": "className",
|
|
382
|
+
"type": "string",
|
|
383
|
+
"default": null,
|
|
384
|
+
"description": "A class on the figure (layout: margins, grid placement).",
|
|
385
|
+
"required": false
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"name": "dataTable",
|
|
389
|
+
"type": "boolean",
|
|
390
|
+
"default": null,
|
|
391
|
+
"description": "The \"Show data\" button (the table is in the page for screen readers either way). Default true.",
|
|
392
|
+
"required": false
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"name": "description",
|
|
396
|
+
"type": "ReactNode",
|
|
397
|
+
"default": null,
|
|
398
|
+
"description": "A sentence under the title: the period, the unit, the source.",
|
|
399
|
+
"required": false
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"name": "empty",
|
|
403
|
+
"type": "ReactNode",
|
|
404
|
+
"default": null,
|
|
405
|
+
"description": "What to show when there is nothing to draw (default: the `empty` label). An `EmptyState` of\n@krizaka /ui fits.",
|
|
406
|
+
"required": false
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"name": "error",
|
|
410
|
+
"type": "ReactNode",
|
|
411
|
+
"default": null,
|
|
412
|
+
"description": "The data could not be loaded: `true` says the default words, a node says yours (a retry button…).",
|
|
413
|
+
"required": false
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "exportable",
|
|
417
|
+
"type": "boolean | readonly ExportFormat[]",
|
|
418
|
+
"default": null,
|
|
419
|
+
"description": "Export buttons: `true` for PNG, SVG and CSV, or the formats you want.",
|
|
420
|
+
"required": false
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"name": "group",
|
|
424
|
+
"type": "string | ((datum: T, index: number) => string)",
|
|
425
|
+
"default": null,
|
|
426
|
+
"description": "The field of a point's group: one colour per group (three at most read apart for everyone).",
|
|
427
|
+
"required": false
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"name": "height",
|
|
431
|
+
"type": "number",
|
|
432
|
+
"default": null,
|
|
433
|
+
"description": "The height of the plot in pixels. Default 280 (a sparkline: 32).",
|
|
434
|
+
"required": false
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"name": "hideTitle",
|
|
438
|
+
"type": "boolean",
|
|
439
|
+
"default": null,
|
|
440
|
+
"description": "Visually hide the title (it stays the chart's accessible name): a card that already has its heading.",
|
|
441
|
+
"required": false
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"name": "id",
|
|
445
|
+
"type": "string",
|
|
446
|
+
"default": null,
|
|
447
|
+
"description": "The id of the figure.",
|
|
448
|
+
"required": false
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"name": "labels",
|
|
452
|
+
"type": "ChartLabelsInput",
|
|
453
|
+
"default": null,
|
|
454
|
+
"description": "The words, translated: the buttons, the states, the written summary.",
|
|
455
|
+
"required": false
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"name": "live",
|
|
459
|
+
"type": "boolean",
|
|
460
|
+
"default": null,
|
|
461
|
+
"description": "Streaming data (a job queue, an auction): no entrance on updates, no announcement of every new point.",
|
|
462
|
+
"required": false
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
"name": "loading",
|
|
466
|
+
"type": "boolean",
|
|
467
|
+
"default": null,
|
|
468
|
+
"description": "The data is on its way: a skeleton of the chart, announced once.",
|
|
469
|
+
"required": false
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"name": "locale",
|
|
473
|
+
"type": "Locale",
|
|
474
|
+
"default": null,
|
|
475
|
+
"description": "The locale of every figure and date (`\"fr-FR\"`). Default `\"en-US\"`.",
|
|
476
|
+
"required": false
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"name": "name",
|
|
480
|
+
"type": "string | ((datum: T, index: number) => string)",
|
|
481
|
+
"default": null,
|
|
482
|
+
"description": "The field naming a point (the tooltip's title).",
|
|
483
|
+
"required": false
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"name": "renderer",
|
|
487
|
+
"type": "Renderer",
|
|
488
|
+
"default": null,
|
|
489
|
+
"description": "`svg` (default): sharp, exportable as SVG. `canvas`: for tens of thousands of marks.",
|
|
490
|
+
"required": false
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"name": "size",
|
|
494
|
+
"type": "string | ((datum: T, index: number) => number)",
|
|
495
|
+
"default": null,
|
|
496
|
+
"description": "A third measure, drawn as the bubble's area.",
|
|
497
|
+
"required": false
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"name": "sizeFormat",
|
|
501
|
+
"type": "ValueFormat",
|
|
502
|
+
"default": null,
|
|
503
|
+
"description": "How the third measure (the bubbles) is written.",
|
|
504
|
+
"required": false
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
"name": "sizeLabel",
|
|
508
|
+
"type": "string",
|
|
509
|
+
"default": null,
|
|
510
|
+
"description": "The name of the third measure.",
|
|
511
|
+
"required": false
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "style",
|
|
515
|
+
"type": "CSSProperties",
|
|
516
|
+
"default": null,
|
|
517
|
+
"description": "Inline style on the figure (layout only: colours come from the tokens).",
|
|
518
|
+
"required": false
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
"name": "summary",
|
|
522
|
+
"type": "\"hidden\" | \"visible\"",
|
|
523
|
+
"default": null,
|
|
524
|
+
"description": "The written summary: read by screen readers only (`\"hidden\"`, default), or shown under the chart (`\"visible\"`).",
|
|
525
|
+
"required": false
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
"name": "summaryText",
|
|
529
|
+
"type": "string",
|
|
530
|
+
"default": null,
|
|
531
|
+
"description": "Your own summary instead of the generated one (still read first by screen readers).",
|
|
532
|
+
"required": false
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"name": "thresholds",
|
|
536
|
+
"type": "readonly Threshold[]",
|
|
537
|
+
"default": null,
|
|
538
|
+
"description": "Horizontal lines at a y value.",
|
|
539
|
+
"required": false
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
"name": "xFormat",
|
|
543
|
+
"type": "ValueFormat",
|
|
544
|
+
"default": null,
|
|
545
|
+
"description": "How each measure is written.",
|
|
546
|
+
"required": false
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"name": "yFormat",
|
|
550
|
+
"type": "ValueFormat",
|
|
551
|
+
"default": null,
|
|
552
|
+
"description": "How the vertical measure is written.",
|
|
553
|
+
"required": false
|
|
554
|
+
}
|
|
555
|
+
]
|
|
556
|
+
}
|
|
557
|
+
]
|
|
558
|
+
}
|