@sophistry/charts 0.0.0-stage → 0.0.1
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 +21 -0
- package/README.md +32 -2
- package/dist/3d/bar-chart3d.d.ts +56 -0
- package/dist/3d/bar-chart3d.d.ts.map +1 -0
- package/dist/3d/definitions.d.ts +38 -0
- package/dist/3d/definitions.d.ts.map +1 -0
- package/dist/3d/definitions.js +14 -0
- package/dist/3d/forward.d.ts +65 -0
- package/dist/3d/forward.d.ts.map +1 -0
- package/dist/3d/index.d.ts +31 -0
- package/dist/3d/index.d.ts.map +1 -0
- package/dist/3d/index.js +1 -0
- package/dist/3d/quiver3d.d.ts +53 -0
- package/dist/3d/quiver3d.d.ts.map +1 -0
- package/dist/3d/scatter3d.d.ts +45 -0
- package/dist/3d/scatter3d.d.ts.map +1 -0
- package/dist/3d/stem3d.d.ts +46 -0
- package/dist/3d/stem3d.d.ts.map +1 -0
- package/dist/3d/surface-grid3d.d.ts +34 -0
- package/dist/3d/surface-grid3d.d.ts.map +1 -0
- package/dist/3d/tri-surface3d.d.ts +46 -0
- package/dist/3d/tri-surface3d.d.ts.map +1 -0
- package/dist/3d/voxels3d.d.ts +26 -0
- package/dist/3d/voxels3d.d.ts.map +1 -0
- package/dist/3d/wireframe3d.d.ts +31 -0
- package/dist/3d/wireframe3d.d.ts.map +1 -0
- package/dist/band.d.ts +21 -0
- package/dist/band.d.ts.map +1 -0
- package/dist/bars/bar-chart.d.ts +144 -0
- package/dist/bars/bar-chart.d.ts.map +1 -0
- package/dist/bars/bar-labels.d.ts +117 -0
- package/dist/bars/bar-labels.d.ts.map +1 -0
- package/dist/bars/bars.d.ts +224 -0
- package/dist/bars/bars.d.ts.map +1 -0
- package/dist/bars/bullet.d.ts +158 -0
- package/dist/bars/bullet.d.ts.map +1 -0
- package/dist/bars/candlestick.d.ts +98 -0
- package/dist/bars/candlestick.d.ts.map +1 -0
- package/dist/bars/funnel.d.ts +91 -0
- package/dist/bars/funnel.d.ts.map +1 -0
- package/dist/bars/histogram.d.ts +109 -0
- package/dist/bars/histogram.d.ts.map +1 -0
- package/dist/bars/index.d.ts +23 -0
- package/dist/bars/index.d.ts.map +1 -0
- package/dist/bars/race.d.ts +29 -0
- package/dist/bars/race.d.ts.map +1 -0
- package/dist/bars/rules.d.ts +122 -0
- package/dist/bars/rules.d.ts.map +1 -0
- package/dist/bars/shared.d.ts +42 -0
- package/dist/bars/shared.d.ts.map +1 -0
- package/dist/bars/transforms.d.ts +250 -0
- package/dist/bars/transforms.d.ts.map +1 -0
- package/dist/bars/waterfall.d.ts +107 -0
- package/dist/bars/waterfall.d.ts.map +1 -0
- package/dist/batch.d.ts +143 -0
- package/dist/batch.d.ts.map +1 -0
- package/dist/channels-_Xf-p6Lx.js +56 -0
- package/dist/chart.d.ts +88 -0
- package/dist/chart.d.ts.map +1 -0
- package/dist/color-norm.d.ts +91 -0
- package/dist/color-norm.d.ts.map +1 -0
- package/dist/context.d.ts +112 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/curves/density.d.ts +126 -0
- package/dist/curves/density.d.ts.map +1 -0
- package/dist/curves/ecdf.d.ts +73 -0
- package/dist/curves/ecdf.d.ts.map +1 -0
- package/dist/curves/fill-between.d.ts +101 -0
- package/dist/curves/fill-between.d.ts.map +1 -0
- package/dist/curves/index.d.ts +16 -0
- package/dist/curves/index.d.ts.map +1 -0
- package/dist/curves/line-plot.d.ts +105 -0
- package/dist/curves/line-plot.d.ts.map +1 -0
- package/dist/curves/regression.d.ts +125 -0
- package/dist/curves/regression.d.ts.map +1 -0
- package/dist/curves/shared.d.ts +53 -0
- package/dist/curves/shared.d.ts.map +1 -0
- package/dist/curves/stack-plot.d.ts +141 -0
- package/dist/curves/stack-plot.d.ts.map +1 -0
- package/dist/curves/stairs.d.ts +171 -0
- package/dist/curves/stairs.d.ts.map +1 -0
- package/dist/data/channels.d.ts +171 -0
- package/dist/data/channels.d.ts.map +1 -0
- package/dist/end-space.d.ts +82 -0
- package/dist/end-space.d.ts.map +1 -0
- package/dist/entries/definitions.d.ts +21 -0
- package/dist/entries/definitions.d.ts.map +1 -0
- package/dist/entries/definitions.js +6 -0
- package/dist/frame/band-axis.d.ts +43 -0
- package/dist/frame/band-axis.d.ts.map +1 -0
- package/dist/frame/coords.d.ts +112 -0
- package/dist/frame/coords.d.ts.map +1 -0
- package/dist/frame/fit.d.ts +171 -0
- package/dist/frame/fit.d.ts.map +1 -0
- package/dist/frame/format.d.ts +41 -0
- package/dist/frame/format.d.ts.map +1 -0
- package/dist/frame/guide-metrics.d.ts +37 -0
- package/dist/frame/guide-metrics.d.ts.map +1 -0
- package/dist/frame/guides.d.ts +68 -0
- package/dist/frame/guides.d.ts.map +1 -0
- package/dist/frame/keys.d.ts +97 -0
- package/dist/frame/keys.d.ts.map +1 -0
- package/dist/frame/layout.d.ts +146 -0
- package/dist/frame/layout.d.ts.map +1 -0
- package/dist/frame/registry.d.ts +32 -0
- package/dist/frame/registry.d.ts.map +1 -0
- package/dist/frame/reports.d.ts +54 -0
- package/dist/frame/reports.d.ts.map +1 -0
- package/dist/frame/secondary-axes.d.ts +74 -0
- package/dist/frame/secondary-axes.d.ts.map +1 -0
- package/dist/frame/secondary.d.ts +57 -0
- package/dist/frame/secondary.d.ts.map +1 -0
- package/dist/frame/tooltip-overlay.d.ts +65 -0
- package/dist/frame/tooltip-overlay.d.ts.map +1 -0
- package/dist/frame/types.d.ts +659 -0
- package/dist/frame/types.d.ts.map +1 -0
- package/dist/grids/barbs.d.ts +52 -0
- package/dist/grids/barbs.d.ts.map +1 -0
- package/dist/grids/cell-rects.d.ts +38 -0
- package/dist/grids/cell-rects.d.ts.map +1 -0
- package/dist/grids/cells.d.ts +131 -0
- package/dist/grids/cells.d.ts.map +1 -0
- package/dist/grids/contour-f.d.ts +81 -0
- package/dist/grids/contour-f.d.ts.map +1 -0
- package/dist/grids/contour-shared.d.ts +54 -0
- package/dist/grids/contour-shared.d.ts.map +1 -0
- package/dist/grids/contour.d.ts +85 -0
- package/dist/grids/contour.d.ts.map +1 -0
- package/dist/grids/dendrogram.d.ts +105 -0
- package/dist/grids/dendrogram.d.ts.map +1 -0
- package/dist/grids/heatmap.d.ts +164 -0
- package/dist/grids/heatmap.d.ts.map +1 -0
- package/dist/grids/hex-bin.d.ts +94 -0
- package/dist/grids/hex-bin.d.ts.map +1 -0
- package/dist/grids/hist2d.d.ts +108 -0
- package/dist/grids/hist2d.d.ts.map +1 -0
- package/dist/grids/imshow.d.ts +85 -0
- package/dist/grids/imshow.d.ts.map +1 -0
- package/dist/grids/index.d.ts +27 -0
- package/dist/grids/index.d.ts.map +1 -0
- package/dist/grids/pcolormesh.d.ts +91 -0
- package/dist/grids/pcolormesh.d.ts.map +1 -0
- package/dist/grids/ramp-cells.d.ts +67 -0
- package/dist/grids/ramp-cells.d.ts.map +1 -0
- package/dist/grids/tri-contour.d.ts +121 -0
- package/dist/grids/tri-contour.d.ts.map +1 -0
- package/dist/grids/tri-shared.d.ts +62 -0
- package/dist/grids/tri-shared.d.ts.map +1 -0
- package/dist/grids/tripcolor.d.ts +74 -0
- package/dist/grids/tripcolor.d.ts.map +1 -0
- package/dist/guides/colorbar.d.ts +111 -0
- package/dist/guides/colorbar.d.ts.map +1 -0
- package/dist/guides/index.d.ts +12 -0
- package/dist/guides/index.d.ts.map +1 -0
- package/dist/guides/legend.d.ts +119 -0
- package/dist/guides/legend.d.ts.map +1 -0
- package/dist/guides/nodes.d.ts +14 -0
- package/dist/guides/nodes.d.ts.map +1 -0
- package/dist/guides/size-legend.d.ts +234 -0
- package/dist/guides/size-legend.d.ts.map +1 -0
- package/dist/hierarchy/breadcrumbs.d.ts +134 -0
- package/dist/hierarchy/breadcrumbs.d.ts.map +1 -0
- package/dist/hierarchy/circle-pack.d.ts +73 -0
- package/dist/hierarchy/circle-pack.d.ts.map +1 -0
- package/dist/hierarchy/drill.d.ts +246 -0
- package/dist/hierarchy/drill.d.ts.map +1 -0
- package/dist/hierarchy/frame.d.ts +68 -0
- package/dist/hierarchy/frame.d.ts.map +1 -0
- package/dist/hierarchy/icicle.d.ts +77 -0
- package/dist/hierarchy/icicle.d.ts.map +1 -0
- package/dist/hierarchy/index.d.ts +21 -0
- package/dist/hierarchy/index.d.ts.map +1 -0
- package/dist/hierarchy/labels.d.ts +25 -0
- package/dist/hierarchy/labels.d.ts.map +1 -0
- package/dist/hierarchy/mosaic.d.ts +131 -0
- package/dist/hierarchy/mosaic.d.ts.map +1 -0
- package/dist/hierarchy/own-tooltip.d.ts +13 -0
- package/dist/hierarchy/own-tooltip.d.ts.map +1 -0
- package/dist/hierarchy/props.d.ts +14 -0
- package/dist/hierarchy/props.d.ts.map +1 -0
- package/dist/hierarchy/sankey.d.ts +133 -0
- package/dist/hierarchy/sankey.d.ts.map +1 -0
- package/dist/hierarchy/shared.d.ts +248 -0
- package/dist/hierarchy/shared.d.ts.map +1 -0
- package/dist/hierarchy/sunburst.d.ts +75 -0
- package/dist/hierarchy/sunburst.d.ts.map +1 -0
- package/dist/hierarchy/tree.d.ts +125 -0
- package/dist/hierarchy/tree.d.ts.map +1 -0
- package/dist/hierarchy/treemap.d.ts +77 -0
- package/dist/hierarchy/treemap.d.ts.map +1 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/item-tooltip.d.ts +34 -0
- package/dist/item-tooltip.d.ts.map +1 -0
- package/dist/join.d.ts +224 -0
- package/dist/join.d.ts.map +1 -0
- package/dist/math/3d/bar3d.d.ts +28 -0
- package/dist/math/3d/bar3d.d.ts.map +1 -0
- package/dist/math/3d/quiver3d.d.ts +27 -0
- package/dist/math/3d/quiver3d.d.ts.map +1 -0
- package/dist/math/3d/scatter3d.d.ts +16 -0
- package/dist/math/3d/scatter3d.d.ts.map +1 -0
- package/dist/math/3d/stem3d.d.ts +23 -0
- package/dist/math/3d/stem3d.d.ts.map +1 -0
- package/dist/math/3d/surfaceGrid3d.d.ts +34 -0
- package/dist/math/3d/surfaceGrid3d.d.ts.map +1 -0
- package/dist/math/3d/trisurface.d.ts +12 -0
- package/dist/math/3d/trisurface.d.ts.map +1 -0
- package/dist/math/3d/voxels.d.ts +18 -0
- package/dist/math/3d/voxels.d.ts.map +1 -0
- package/dist/math/aggregate.d.ts +69 -0
- package/dist/math/aggregate.d.ts.map +1 -0
- package/dist/math/bar.d.ts +32 -0
- package/dist/math/bar.d.ts.map +1 -0
- package/dist/math/barLabels.d.ts +84 -0
- package/dist/math/barLabels.d.ts.map +1 -0
- package/dist/math/barbs.d.ts +37 -0
- package/dist/math/barbs.d.ts.map +1 -0
- package/dist/math/boxplot.d.ts +37 -0
- package/dist/math/boxplot.d.ts.map +1 -0
- package/dist/math/breadcrumbs.d.ts +129 -0
- package/dist/math/breadcrumbs.d.ts.map +1 -0
- package/dist/math/bubble.d.ts +39 -0
- package/dist/math/bubble.d.ts.map +1 -0
- package/dist/math/bullet.d.ts +111 -0
- package/dist/math/bullet.d.ts.map +1 -0
- package/dist/math/chord.d.ts +104 -0
- package/dist/math/chord.d.ts.map +1 -0
- package/dist/math/cluster.d.ts +89 -0
- package/dist/math/cluster.d.ts.map +1 -0
- package/dist/math/contour.d.ts +49 -0
- package/dist/math/contour.d.ts.map +1 -0
- package/dist/math/contourf.d.ts +51 -0
- package/dist/math/contourf.d.ts.map +1 -0
- package/dist/math/dodge.d.ts +37 -0
- package/dist/math/dodge.d.ts.map +1 -0
- package/dist/math/ecdf.d.ts +42 -0
- package/dist/math/ecdf.d.ts.map +1 -0
- package/dist/math/errorbar.d.ts +28 -0
- package/dist/math/errorbar.d.ts.map +1 -0
- package/dist/math/eventplot.d.ts +27 -0
- package/dist/math/eventplot.d.ts.map +1 -0
- package/dist/math/facet.d.ts +91 -0
- package/dist/math/facet.d.ts.map +1 -0
- package/dist/math/fillBetween.d.ts +29 -0
- package/dist/math/fillBetween.d.ts.map +1 -0
- package/dist/math/gauge.d.ts +72 -0
- package/dist/math/gauge.d.ts.map +1 -0
- package/dist/math/hexbin.d.ts +21 -0
- package/dist/math/hexbin.d.ts.map +1 -0
- package/dist/math/hierarchy.d.ts +180 -0
- package/dist/math/hierarchy.d.ts.map +1 -0
- package/dist/math/hierarchyJoin.d.ts +60 -0
- package/dist/math/hierarchyJoin.d.ts.map +1 -0
- package/dist/math/histogram.d.ts +37 -0
- package/dist/math/histogram.d.ts.map +1 -0
- package/dist/math/histogram2d.d.ts +45 -0
- package/dist/math/histogram2d.d.ts.map +1 -0
- package/dist/math/imshow.d.ts +27 -0
- package/dist/math/imshow.d.ts.map +1 -0
- package/dist/math/index.d.ts +140 -0
- package/dist/math/index.d.ts.map +1 -0
- package/dist/math/index.js +3 -0
- package/dist/math/jitter.d.ts +17 -0
- package/dist/math/jitter.d.ts.map +1 -0
- package/dist/math/join.d.ts +136 -0
- package/dist/math/join.d.ts.map +1 -0
- package/dist/math/keyframes.d.ts +128 -0
- package/dist/math/keyframes.d.ts.map +1 -0
- package/dist/math/legend.d.ts +121 -0
- package/dist/math/legend.d.ts.map +1 -0
- package/dist/math/line.d.ts +54 -0
- package/dist/math/line.d.ts.map +1 -0
- package/dist/math/morph.d.ts +82 -0
- package/dist/math/morph.d.ts.map +1 -0
- package/dist/math/mosaic.d.ts +120 -0
- package/dist/math/mosaic.d.ts.map +1 -0
- package/dist/math/ordinal.d.ts +80 -0
- package/dist/math/ordinal.d.ts.map +1 -0
- package/dist/math/parallel.d.ts +39 -0
- package/dist/math/parallel.d.ts.map +1 -0
- package/dist/math/pcolormesh.d.ts +23 -0
- package/dist/math/pcolormesh.d.ts.map +1 -0
- package/dist/math/pie.d.ts +106 -0
- package/dist/math/pie.d.ts.map +1 -0
- package/dist/math/polarArea.d.ts +35 -0
- package/dist/math/polarArea.d.ts.map +1 -0
- package/dist/math/radar.d.ts +111 -0
- package/dist/math/radar.d.ts.map +1 -0
- package/dist/math/range.d.ts +99 -0
- package/dist/math/range.d.ts.map +1 -0
- package/dist/math/regression.d.ts +110 -0
- package/dist/math/regression.d.ts.map +1 -0
- package/dist/math/reveal.d.ts +64 -0
- package/dist/math/reveal.d.ts.map +1 -0
- package/dist/math/sankey.d.ts +155 -0
- package/dist/math/sankey.d.ts.map +1 -0
- package/dist/math/scatter.d.ts +15 -0
- package/dist/math/scatter.d.ts.map +1 -0
- package/dist/math/shared/binning.d.ts +24 -0
- package/dist/math/shared/binning.d.ts.map +1 -0
- package/dist/math/shared/gridCells.d.ts +42 -0
- package/dist/math/shared/gridCells.d.ts.map +1 -0
- package/dist/math/shared/gridExtent.d.ts +6 -0
- package/dist/math/shared/gridExtent.d.ts.map +1 -0
- package/dist/math/shared/pairs.d.ts +3 -0
- package/dist/math/shared/pairs.d.ts.map +1 -0
- package/dist/math/shared/polar.d.ts +24 -0
- package/dist/math/shared/polar.d.ts.map +1 -0
- package/dist/math/stack.d.ts +70 -0
- package/dist/math/stack.d.ts.map +1 -0
- package/dist/math/stackplot.d.ts +36 -0
- package/dist/math/stackplot.d.ts.map +1 -0
- package/dist/math/stairs.d.ts +18 -0
- package/dist/math/stairs.d.ts.map +1 -0
- package/dist/math/stem.d.ts +22 -0
- package/dist/math/stem.d.ts.map +1 -0
- package/dist/math/symbol.d.ts +26 -0
- package/dist/math/symbol.d.ts.map +1 -0
- package/dist/math/tree.d.ts +118 -0
- package/dist/math/tree.d.ts.map +1 -0
- package/dist/math/tricontour.d.ts +77 -0
- package/dist/math/tricontour.d.ts.map +1 -0
- package/dist/math/violin.d.ts +100 -0
- package/dist/math/violin.d.ts.map +1 -0
- package/dist/math/waffle.d.ts +49 -0
- package/dist/math/waffle.d.ts.map +1 -0
- package/dist/math/waterfall.d.ts +29 -0
- package/dist/math/waterfall.d.ts.map +1 -0
- package/dist/math-CSHNpGej.js +3648 -0
- package/dist/mix.d.ts +25 -0
- package/dist/mix.d.ts.map +1 -0
- package/dist/multiview/brush.d.ts +166 -0
- package/dist/multiview/brush.d.ts.map +1 -0
- package/dist/multiview/chart-group.d.ts +266 -0
- package/dist/multiview/chart-group.d.ts.map +1 -0
- package/dist/multiview/chart-link.d.ts +189 -0
- package/dist/multiview/chart-link.d.ts.map +1 -0
- package/dist/multiview/chart-zoom.d.ts +145 -0
- package/dist/multiview/chart-zoom.d.ts.map +1 -0
- package/dist/multiview/facet.d.ts +239 -0
- package/dist/multiview/facet.d.ts.map +1 -0
- package/dist/multiview/group-guides.d.ts +100 -0
- package/dist/multiview/group-guides.d.ts.map +1 -0
- package/dist/multiview/index.d.ts +18 -0
- package/dist/multiview/index.d.ts.map +1 -0
- package/dist/multiview/joint-plot.d.ts +115 -0
- package/dist/multiview/joint-plot.d.ts.map +1 -0
- package/dist/multiview/pair-plot.d.ts +154 -0
- package/dist/multiview/pair-plot.d.ts.map +1 -0
- package/dist/multiview/panels.d.ts +23 -0
- package/dist/multiview/panels.d.ts.map +1 -0
- package/dist/multiview/parallel-coordinates.d.ts +110 -0
- package/dist/multiview/parallel-coordinates.d.ts.map +1 -0
- package/dist/points/event-plot.d.ts +68 -0
- package/dist/points/event-plot.d.ts.map +1 -0
- package/dist/points/index.d.ts +20 -0
- package/dist/points/index.d.ts.map +1 -0
- package/dist/points/labels.d.ts +71 -0
- package/dist/points/labels.d.ts.map +1 -0
- package/dist/points/links.d.ts +124 -0
- package/dist/points/links.d.ts.map +1 -0
- package/dist/points/rects.d.ts +81 -0
- package/dist/points/rects.d.ts.map +1 -0
- package/dist/points/rug.d.ts +73 -0
- package/dist/points/rug.d.ts.map +1 -0
- package/dist/points/scatter.d.ts +170 -0
- package/dist/points/scatter.d.ts.map +1 -0
- package/dist/points/segment-marks.d.ts +40 -0
- package/dist/points/segment-marks.d.ts.map +1 -0
- package/dist/points/shared.d.ts +35 -0
- package/dist/points/shared.d.ts.map +1 -0
- package/dist/points/stem.d.ts +76 -0
- package/dist/points/stem.d.ts.map +1 -0
- package/dist/points/strip.d.ts +146 -0
- package/dist/points/strip.d.ts.map +1 -0
- package/dist/points/symbol-marker.d.ts +34 -0
- package/dist/points/symbol-marker.d.ts.map +1 -0
- package/dist/points/ticks.d.ts +103 -0
- package/dist/points/ticks.d.ts.map +1 -0
- package/dist/props.d.ts +127 -0
- package/dist/props.d.ts.map +1 -0
- package/dist/radial/chord.d.ts +149 -0
- package/dist/radial/chord.d.ts.map +1 -0
- package/dist/radial/gauge.d.ts +127 -0
- package/dist/radial/gauge.d.ts.map +1 -0
- package/dist/radial/index.d.ts +16 -0
- package/dist/radial/index.d.ts.map +1 -0
- package/dist/radial/pie-chart.d.ts +144 -0
- package/dist/radial/pie-chart.d.ts.map +1 -0
- package/dist/radial/polar-area-chart.d.ts +136 -0
- package/dist/radial/polar-area-chart.d.ts.map +1 -0
- package/dist/radial/radar-chart.d.ts +177 -0
- package/dist/radial/radar-chart.d.ts.map +1 -0
- package/dist/radial/radial-bar-chart.d.ts +117 -0
- package/dist/radial/radial-bar-chart.d.ts.map +1 -0
- package/dist/radial/shared.d.ts +79 -0
- package/dist/radial/shared.d.ts.map +1 -0
- package/dist/radial/waffle.d.ts +131 -0
- package/dist/radial/waffle.d.ts.map +1 -0
- package/dist/raster.d.ts +44 -0
- package/dist/raster.d.ts.map +1 -0
- package/dist/series.d.ts +72 -0
- package/dist/series.d.ts.map +1 -0
- package/dist/src-CwGo1bes.js +19221 -0
- package/dist/stagger.d.ts +55 -0
- package/dist/stagger.d.ts.map +1 -0
- package/dist/statistics/box-plot.d.ts +152 -0
- package/dist/statistics/box-plot.d.ts.map +1 -0
- package/dist/statistics/error-bar.d.ts +149 -0
- package/dist/statistics/error-bar.d.ts.map +1 -0
- package/dist/statistics/groups.d.ts +141 -0
- package/dist/statistics/groups.d.ts.map +1 -0
- package/dist/statistics/index.d.ts +8 -0
- package/dist/statistics/index.d.ts.map +1 -0
- package/dist/statistics/violin-plot.d.ts +144 -0
- package/dist/statistics/violin-plot.d.ts.map +1 -0
- package/dist/text-width.d.ts +10 -0
- package/dist/text-width.d.ts.map +1 -0
- package/dist/tooltip.d.ts +277 -0
- package/dist/tooltip.d.ts.map +1 -0
- package/dist/util.d.ts +34 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/voxels-9lJ2TZS4.js +235 -0
- package/dist/wireframe3d-D157GZAq.js +345 -0
- package/package.json +86 -3
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `rects`: rectangles in data space from `x1`/`x2`/`y1`/`y2`; a pair left
|
|
3
|
+
* out spans the plot that way. One `rect` instances node per layer.
|
|
4
|
+
*
|
|
5
|
+
* Each rectangle reveals by tracing its outline while its
|
|
6
|
+
* fill comes up (the item's `progress` channel: its reveal and presence).
|
|
7
|
+
*/
|
|
8
|
+
import type { ColorInput } from "@sophistry/core/color";
|
|
9
|
+
import type { MarkTransition } from "../batch";
|
|
10
|
+
import type { Channel, ColorChannel, PositionValue } from "../data/channels";
|
|
11
|
+
import type { KeyedTransitionProps, RevealProps } from "../props";
|
|
12
|
+
import type { TooltipSpec } from "../tooltip";
|
|
13
|
+
/**
|
|
14
|
+
* Props of {@link rects}.
|
|
15
|
+
*
|
|
16
|
+
* @category Charts
|
|
17
|
+
*/
|
|
18
|
+
export interface RectsProps<T = unknown> extends KeyedTransitionProps<T>, RevealProps {
|
|
19
|
+
/** One rectangle per datum. */
|
|
20
|
+
data: readonly T[];
|
|
21
|
+
/** Left edge, in data units (a `Date` reads as epoch ms). With `x2` also omitted, the rectangle spans the plot's full width. */
|
|
22
|
+
x1?: Channel<T, PositionValue>;
|
|
23
|
+
/** Right edge, in data units. */
|
|
24
|
+
x2?: Channel<T, PositionValue>;
|
|
25
|
+
/** Bottom edge, in data units. With `y2` also omitted, the rectangle spans the plot's full height. */
|
|
26
|
+
y1?: Channel<T, PositionValue>;
|
|
27
|
+
/** Top edge, in data units. */
|
|
28
|
+
y2?: Channel<T, PositionValue>;
|
|
29
|
+
/** Fill, constant or `(d, i) => colour`. Wins over `colors`. */
|
|
30
|
+
color?: ColorChannel<T>;
|
|
31
|
+
/** Colours cycled across the rectangles by index. Defaults to the theme's categorical colours. */
|
|
32
|
+
colors?: readonly ColorInput[];
|
|
33
|
+
/**
|
|
34
|
+
* Fill opacity, 0..1.
|
|
35
|
+
* @default 0.35
|
|
36
|
+
*/
|
|
37
|
+
fillOpacity?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Outline colour.
|
|
40
|
+
* @default "none"
|
|
41
|
+
*/
|
|
42
|
+
stroke?: ColorInput;
|
|
43
|
+
strokeWidth?: number;
|
|
44
|
+
opacity?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Reveal, 0..1: each rectangle traces its outline as its fill comes up.
|
|
47
|
+
* @default 1
|
|
48
|
+
*/
|
|
49
|
+
progress?: number;
|
|
50
|
+
/** Hover tooltip: `(d, i) => string`. */
|
|
51
|
+
tooltip?: TooltipSpec<T>;
|
|
52
|
+
/** How rectangles move when `data` changes outside a `to` blend; see {@link MarkTransition}. */
|
|
53
|
+
transition?: MarkTransition;
|
|
54
|
+
/**
|
|
55
|
+
* Paint order; higher draws later. Behind the data by default.
|
|
56
|
+
* @default -1
|
|
57
|
+
*/
|
|
58
|
+
zIndex?: number;
|
|
59
|
+
visible?: boolean;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Rectangles in data space from `x1`/`x2`/`y1`/`y2`. Leave out a pair and the rectangle spans
|
|
63
|
+
* the plot that way: a vertical or horizontal span (shaded recessions, a target band); with all
|
|
64
|
+
* four, a floating box. Drawn behind the data by default. One instances node.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* import { chart, rects } from "@sophistry/charts";
|
|
69
|
+
*
|
|
70
|
+
* const recessions = [
|
|
71
|
+
* { start: 2001.2, end: 2001.9 },
|
|
72
|
+
* { start: 2008, end: 2009.5 },
|
|
73
|
+
* ];
|
|
74
|
+
* chart.create({ width: 8, height: 4, children: [rects.create({ data: recessions, x1: "start", x2: "end" })] });
|
|
75
|
+
* ```
|
|
76
|
+
*
|
|
77
|
+
* @see https://sophistry.dev/guides/charts/#marks
|
|
78
|
+
* @category Charts
|
|
79
|
+
*/
|
|
80
|
+
export declare const rects: import("@sophistry/core").Definition<RectsProps<any>, import("@sophistry/core/internal").CompositeNode<RectsProps<any>>, keyof RectsProps<any>>;
|
|
81
|
+
//# sourceMappingURL=rects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rects.d.ts","sourceRoot":"","sources":["../../src/points/rects.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAgB7E,OAAO,KAAK,EAAY,oBAAoB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5E,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,YAAY,CAAC;AAO5D;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO,CACtC,SAAQ,oBAAoB,CAAC,CAAC,CAAC,EAC9B,WAAW;IACZ,+BAA+B;IAC/B,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IACnB,gIAAgI;IAChI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/B,iCAAiC;IACjC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/B,sGAAsG;IACtG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/B,+BAA+B;IAC/B,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/B,gEAAgE;IAChE,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,kGAAkG;IAClG,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACzB,gGAAgG;IAChG,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAyOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,KAAK,iJA8EhB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `rug`: a short tick standing on the axis at every value, drawn as one
|
|
3
|
+
* `line` instances node (see `segment-marks.ts`).
|
|
4
|
+
*/
|
|
5
|
+
import type { BandKey } from "@sophistry/core/geometry";
|
|
6
|
+
import type { MarkTransition } from "../batch";
|
|
7
|
+
import type { Channel, ColorChannel } from "../data/channels";
|
|
8
|
+
import type { KeyedTransitionProps, RevealProps } from "../props";
|
|
9
|
+
import type { TooltipSpec } from "../tooltip";
|
|
10
|
+
/**
|
|
11
|
+
* Props of {@link rug}.
|
|
12
|
+
*
|
|
13
|
+
* @category Charts
|
|
14
|
+
*/
|
|
15
|
+
export interface RugProps<T = unknown> extends KeyedTransitionProps<T>, RevealProps {
|
|
16
|
+
/** One tick per datum. */
|
|
17
|
+
data: readonly T[];
|
|
18
|
+
/** The value, in data units. Defaults to the datum when `data` is `number[]`. */
|
|
19
|
+
value?: Channel<T, number>;
|
|
20
|
+
/**
|
|
21
|
+
* Which axis the rug lines.
|
|
22
|
+
* @default "x"
|
|
23
|
+
*/
|
|
24
|
+
axis?: "x" | "y";
|
|
25
|
+
/**
|
|
26
|
+
* Tick length.
|
|
27
|
+
* @default 0.18
|
|
28
|
+
*/
|
|
29
|
+
length?: number;
|
|
30
|
+
/**
|
|
31
|
+
* The series each tick belongs to: colours ticks through the chart's shared colour scale and
|
|
32
|
+
* legend, so a rug matches its per-series densities. `color` wins.
|
|
33
|
+
*/
|
|
34
|
+
series?: Channel<T, BandKey>;
|
|
35
|
+
/** Tick colour, constant or `(d, i) => colour`. Defaults to the `series` colour, else the theme's first series colour. */
|
|
36
|
+
color?: ColorChannel<T>;
|
|
37
|
+
/** Line width. */
|
|
38
|
+
strokeWidth?: number;
|
|
39
|
+
/**
|
|
40
|
+
* Opacity, so overlapping ticks read darker.
|
|
41
|
+
* @default 0.7
|
|
42
|
+
*/
|
|
43
|
+
opacity?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Reveal, 0..1: each tick draws out of the axis.
|
|
46
|
+
* @default 1
|
|
47
|
+
*/
|
|
48
|
+
progress?: number;
|
|
49
|
+
/** Hover tooltip: `true` for the value and `series`, or a template, function or options. */
|
|
50
|
+
tooltip?: TooltipSpec<T>;
|
|
51
|
+
/** How ticks move when `data` changes outside a `to` blend; see {@link MarkTransition}. */
|
|
52
|
+
transition?: MarkTransition;
|
|
53
|
+
zIndex?: number;
|
|
54
|
+
visible?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A rug: a short tick standing on the axis at every value, the raw sample
|
|
58
|
+
* under a density or histogram. For ticks centred on the axis or spanning a
|
|
59
|
+
* band, use `tickX` / `tickY`. Drawn as one instances node; ticks point
|
|
60
|
+
* into the plot, and `progress` draws each out of the axis.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* import { chart, rug } from "@sophistry/charts";
|
|
65
|
+
*
|
|
66
|
+
* chart.create({ width: 8, height: 4, children: [rug.create({ data: [1, 2, 2.5, 4] })] });
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* @see https://sophistry.dev/reference/chart-catalogue/#distributions
|
|
70
|
+
* @category Charts
|
|
71
|
+
*/
|
|
72
|
+
export declare const rug: import("@sophistry/core").Definition<RugProps<any>, import("@sophistry/core/internal").CompositeNode<RugProps<any>>, keyof RugProps<any>>;
|
|
73
|
+
//# sourceMappingURL=rug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rug.d.ts","sourceRoot":"","sources":["../../src/points/rug.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG/C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAiB9D,OAAO,KAAK,EAAY,oBAAoB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5E,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,YAAY,CAAC;AAU5D;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,OAAO,CACpC,SAAQ,oBAAoB,CAAC,CAAC,CAAC,EAC9B,WAAW;IACZ,0BAA0B;IAC1B,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IACnB,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7B,0HAA0H;IAC1H,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACzB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAqQD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,GAAG,2IAkDd,CAAC"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `scatter`: a marker per datum, drawn as one instances node.
|
|
3
|
+
*
|
|
4
|
+
* The reference per-datum mark of the charts package: every other one
|
|
5
|
+
* (strip, rug, ticks, stem, error bars, ...) follows the same steps in its
|
|
6
|
+
* `update`:
|
|
7
|
+
*
|
|
8
|
+
* 1. read the chart (`layer.frame()`, `layer.coords()`) and the channels
|
|
9
|
+
* (with the chart's date sink);
|
|
10
|
+
* 2. join `data` and `to` by key (`createKeyedData`) and take each key's
|
|
11
|
+
* frame at this `blend` (`joinFrames`);
|
|
12
|
+
* 3. report the extent (both ends while a transition runs);
|
|
13
|
+
* 4. build one item per key (scene-unit position, size, colour, reveal) at
|
|
14
|
+
* this frame of the reveal and transition;
|
|
15
|
+
* 5. hand the items to the batched node (`createBatchedMark`), with the
|
|
16
|
+
* mark's `transition` only for data changes outside a `to` blend.
|
|
17
|
+
*
|
|
18
|
+
* Work is split: everything read from the data and the
|
|
19
|
+
* join (each key's marker in data units) is cached on its inputs, so a pan
|
|
20
|
+
* or zoom (only the coordinates changing) re-projects and nothing else, and
|
|
21
|
+
* a frame of a reveal only recomputes each marker's reveal.
|
|
22
|
+
*
|
|
23
|
+
* Markers are instances of the internal `symbolMarker` shape: all circles
|
|
24
|
+
* publish `circle` marks (the splat path); other symbols, constant or per
|
|
25
|
+
* datum, share the node (see `symbol-marker.ts`). The reveal is each
|
|
26
|
+
* marker's own `progress` channel (its outline traced), so a partly revealed layer is drawn from outlines and is
|
|
27
|
+
* discs again once whole. The items are the drawn markers themselves: the
|
|
28
|
+
* channels read their centres from one projected array, so a pan builds no
|
|
29
|
+
* per-marker objects beyond the points the node keeps. With `time` + `trail`, the
|
|
30
|
+
* trails are one path batch behind the markers.
|
|
31
|
+
*/
|
|
32
|
+
import type { BandKey } from "@sophistry/core/geometry";
|
|
33
|
+
import type { MarkTransition } from "../batch";
|
|
34
|
+
import type { Channel, ChannelFn, ColorChannel, PositionValue, Quantity } from "../data/channels";
|
|
35
|
+
import type { SymbolName } from "../math/symbol";
|
|
36
|
+
import type { KeyedTransitionProps, RevealProps, StaggerOrder } from "../props";
|
|
37
|
+
import type { TooltipSpec } from "../tooltip";
|
|
38
|
+
/**
|
|
39
|
+
* Options for {@link scatter}'s `trail`.
|
|
40
|
+
*
|
|
41
|
+
* @category Charts
|
|
42
|
+
*/
|
|
43
|
+
export interface ScatterTrailOptions {
|
|
44
|
+
/** How much time the trail spans, in the `time` channel's units. Defaults to all of it. */
|
|
45
|
+
length?: number;
|
|
46
|
+
/**
|
|
47
|
+
* The trail's opacity, 0..1.
|
|
48
|
+
* @default 0.45
|
|
49
|
+
*/
|
|
50
|
+
opacity?: number;
|
|
51
|
+
/**
|
|
52
|
+
* The trail's width.
|
|
53
|
+
* @default 0.035
|
|
54
|
+
*/
|
|
55
|
+
strokeWidth?: number;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Props of {@link scatter}.
|
|
59
|
+
*
|
|
60
|
+
* @category Charts
|
|
61
|
+
*/
|
|
62
|
+
export interface ScatterProps<T = unknown> extends KeyedTransitionProps<T>, RevealProps {
|
|
63
|
+
/** One marker per datum; data with a non-finite `x` or `y` are skipped. */
|
|
64
|
+
data: readonly T[];
|
|
65
|
+
/** X position, in data units (a `Date` reads as epoch ms). Defaults to the index when `data` is `number[]`. */
|
|
66
|
+
x?: Channel<T, PositionValue>;
|
|
67
|
+
/** Y position, in data units. Defaults to the datum when `data` is `number[]`. */
|
|
68
|
+
y?: Channel<T, PositionValue>;
|
|
69
|
+
/**
|
|
70
|
+
* Marker radius in scene units, constant or per marker. To size markers by a data value, use
|
|
71
|
+
* `size`.
|
|
72
|
+
* @default 0.09
|
|
73
|
+
*/
|
|
74
|
+
radius?: Quantity<T>;
|
|
75
|
+
/**
|
|
76
|
+
* Size by value (a bubble chart): radius by a square-root scale from zero, so a marker's area
|
|
77
|
+
* is proportional to its value. Wins over `radius`. Inside a `chart`, sized layers share one
|
|
78
|
+
* scale unless `scales: { size: "independent" }`.
|
|
79
|
+
*/
|
|
80
|
+
size?: Channel<T, number>;
|
|
81
|
+
/**
|
|
82
|
+
* With `size`: the radii a value of 0 and a value of `sizeMaxValue` get.
|
|
83
|
+
* @default [0, 0.35]
|
|
84
|
+
*/
|
|
85
|
+
sizeRange?: readonly [min: number, max: number];
|
|
86
|
+
/**
|
|
87
|
+
* With `size`: the value that reaches `sizeRange[1]`. Pin it to compare sizes across charts or
|
|
88
|
+
* across a transition. Defaults to the greatest `size` in the chart's sized layers.
|
|
89
|
+
*/
|
|
90
|
+
sizeMaxValue?: number;
|
|
91
|
+
/** The category of each marker: colours markers through the chart's shared colour scale and legend. `color` wins. */
|
|
92
|
+
series?: Channel<T, BandKey>;
|
|
93
|
+
/** Marker fill, constant or `(d, i) => colour`. Defaults to the `series` colour, else the theme's first series colour. */
|
|
94
|
+
color?: ColorChannel<T>;
|
|
95
|
+
/**
|
|
96
|
+
* Marker shape, constant or per marker: `"circle"`, `"square"`, `"diamond"`, `"triangle"`,
|
|
97
|
+
* `"cross"` or `"star"`, each with the area of a circle of the same `radius`.
|
|
98
|
+
* @default "circle"
|
|
99
|
+
*/
|
|
100
|
+
symbol?: SymbolName | ChannelFn<T, SymbolName>;
|
|
101
|
+
/** The order `stagger` (and `enterStagger`) reveals markers in. @default "position" */
|
|
102
|
+
staggerOrder?: StaggerOrder;
|
|
103
|
+
/** Hover tooltip: `true` for a row per channel (`x`, `y`, `series`, `size`), or a template, function or options. */
|
|
104
|
+
tooltip?: TooltipSpec<T>;
|
|
105
|
+
/**
|
|
106
|
+
* Time as an encoding (a Gapminder chart): each datum is one moment of the thing its `key` (or
|
|
107
|
+
* `series`) names, and one marker per key is drawn at the moment `at`, interpolated between
|
|
108
|
+
* keyframes. The axes fit every moment. `to` is ignored.
|
|
109
|
+
*/
|
|
110
|
+
time?: Channel<T, number>;
|
|
111
|
+
/** With `time`: the moment to draw. Defaults to the last moment in the data. */
|
|
112
|
+
at?: number;
|
|
113
|
+
/**
|
|
114
|
+
* With `time`: how long a key takes to grow in before its first moment and shrink away after
|
|
115
|
+
* its last, in `time` units. 0 shows it only between them. Defaults to half the shortest step
|
|
116
|
+
* between moments.
|
|
117
|
+
*/
|
|
118
|
+
timeFade?: number;
|
|
119
|
+
/** With `time`: draw the path each marker has travelled up to `at`, behind the markers. */
|
|
120
|
+
trail?: boolean | ScatterTrailOptions;
|
|
121
|
+
/**
|
|
122
|
+
* How markers move when `data` changes (outside a `to` blend): a tween
|
|
123
|
+
* or a spring in the node's tween bank; new markers grow in, removed ones
|
|
124
|
+
* shrink away. Omitted, data changes are instant.
|
|
125
|
+
*/
|
|
126
|
+
transition?: MarkTransition;
|
|
127
|
+
/** Marker outline. @default "none" */
|
|
128
|
+
stroke?: string;
|
|
129
|
+
/** Outline width. */
|
|
130
|
+
strokeWidth?: number;
|
|
131
|
+
/** Opacity 0..1. @default 1 */
|
|
132
|
+
opacity?: number;
|
|
133
|
+
/** Fill opacity 0..1, on top of `opacity`. @default 1 */
|
|
134
|
+
fillOpacity?: number;
|
|
135
|
+
/** Reveal 0..1: each marker traces its outline, its fill coming up with it (staggered with `stagger`). @default 1 */
|
|
136
|
+
progress?: number;
|
|
137
|
+
/** Paint order. */
|
|
138
|
+
zIndex?: number;
|
|
139
|
+
/** Set to false to hide the markers. */
|
|
140
|
+
visible?: boolean;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* A scatter plot or bubble chart: one marker per datum at `(x, y)`, sized
|
|
144
|
+
* and coloured by value or constant. Drawn as one instances node: hover and
|
|
145
|
+
* tooltips resolve per marker (`event.key` is the datum's key), the layer is
|
|
146
|
+
* one tab stop whose markers the arrow keys walk, and `transition` tweens or
|
|
147
|
+
* springs markers to new data. `to` + `blend` is the seekable keyed
|
|
148
|
+
* transition; `time` + `at` plays the data back through time.
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```ts
|
|
152
|
+
* import { chart, scatter } from "@sophistry/charts";
|
|
153
|
+
*
|
|
154
|
+
* const cities = [
|
|
155
|
+
* { gdp: 15, life: 76, population: 10, continent: "South America" },
|
|
156
|
+
* { gdp: 80, life: 83, population: 1, continent: "Europe" },
|
|
157
|
+
* { gdp: 12, life: 71, population: 20, continent: "Asia" },
|
|
158
|
+
* ];
|
|
159
|
+
* chart.create({
|
|
160
|
+
* width: 8,
|
|
161
|
+
* height: 4,
|
|
162
|
+
* children: [scatter.create({ data: cities, x: "gdp", y: "life", size: "population", series: "continent", tooltip: true })],
|
|
163
|
+
* });
|
|
164
|
+
* ```
|
|
165
|
+
*
|
|
166
|
+
* @see https://sophistry.dev/reference/chart-catalogue/#lines-scatter-and-error-bars
|
|
167
|
+
* @category Charts
|
|
168
|
+
*/
|
|
169
|
+
export declare const scatter: import("@sophistry/core").Definition<ScatterProps<any>, import("@sophistry/core/internal").CompositeNode<ScatterProps<any>>, keyof ScatterProps<any>>;
|
|
170
|
+
//# sourceMappingURL=scatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scatter.d.ts","sourceRoot":"","sources":["../../src/points/scatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,0BAA0B,CAAC;AAG/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,KAAK,EACX,OAAO,EACP,SAAS,EACT,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,MAAM,kBAAkB,CAAC;AAsB1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAEX,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,MAAM,UAAU,CAAC;AAIlB,OAAO,KAAK,EAGX,WAAW,EAEX,MAAM,YAAY,CAAC;AAkBpB;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC,2FAA2F;IAC3F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO,CACxC,SAAQ,oBAAoB,CAAC,CAAC,CAAC,EAC9B,WAAW;IACZ,2EAA2E;IAC3E,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IACnB,+GAA+G;IAC/G,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC9B,kFAAkF;IAClF,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC9B;;;;OAIG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAChD;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qHAAqH;IACrH,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7B,0HAA0H;IAC1H,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/C,uFAAuF;IACvF,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oHAAoH;IACpH,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1B,gFAAgF;IAChF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IACtC;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qHAAqH;IACrH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAo3BD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,uJAoHlB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Straight lines in a batched layer, shared by the per-datum marks whose
|
|
3
|
+
* data are short segments (a rug's ticks, a stem's drop lines, `tickX` /
|
|
4
|
+
* `tickY`, an event raster, links). Internal.
|
|
5
|
+
*
|
|
6
|
+
* A layer of segments is one `instances(line, ...)` node: every
|
|
7
|
+
* item is a real stroke (caps, any space), each its own outline in the
|
|
8
|
+
* node's `paths` spec, with `from` / `to` / `stroke` per item.
|
|
9
|
+
*
|
|
10
|
+
* A segment's reveal is its item's `progress` channel: the stroke traces
|
|
11
|
+
* from `from` towards `to`.
|
|
12
|
+
*/
|
|
13
|
+
import type { LineProps, SceneNode } from "@sophistry/core";
|
|
14
|
+
import type { Point } from "@sophistry/core/geometry";
|
|
15
|
+
import type { BatchedMark, BatchItem } from "../batch";
|
|
16
|
+
/** One segment of a batched layer: its two ends in scene units and its colour. */
|
|
17
|
+
export interface SegmentItem extends BatchItem {
|
|
18
|
+
/** Where it starts (the end a reveal draws from), in scene units. */
|
|
19
|
+
from: Point;
|
|
20
|
+
/** Where it ends. */
|
|
21
|
+
to: Point;
|
|
22
|
+
/** Its stroke colour. */
|
|
23
|
+
stroke: string;
|
|
24
|
+
/** How far it has traced from `from`, 0..1. @default 1 */
|
|
25
|
+
progress?: number;
|
|
26
|
+
/** Its opacity (the layer's folded in), when the layer was made with `opacity: true`. */
|
|
27
|
+
opacity?: number;
|
|
28
|
+
}
|
|
29
|
+
/** The batched node of a segment layer. */
|
|
30
|
+
export type SegmentMark<S extends SegmentItem> = BatchedMark<S, LineProps, SceneNode<LineProps>, keyof LineProps>;
|
|
31
|
+
/**
|
|
32
|
+
* Makes the one `line` instances node of a segment layer (see `options`). Under a mark's
|
|
33
|
+
* `transition`, an entering segment draws out of its start and a leaving
|
|
34
|
+
* one draws back into it (its `progress`). Call once, in `setup`.
|
|
35
|
+
*/
|
|
36
|
+
export declare function createSegmentMark<S extends SegmentItem>(options?: {
|
|
37
|
+
/** Read each item's `opacity` (a fade per segment) instead of a shared one. */
|
|
38
|
+
opacity?: boolean;
|
|
39
|
+
}): SegmentMark<S>;
|
|
40
|
+
//# sourceMappingURL=segment-marks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment-marks.d.ts","sourceRoot":"","sources":["../../src/points/segment-marks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGvD,kFAAkF;AAClF,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC7C,qEAAqE;IACrE,IAAI,EAAE,KAAK,CAAC;IACZ,qBAAqB;IACrB,EAAE,EAAE,KAAK,CAAC;IACV,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,2CAA2C;AAC3C,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,WAAW,IAAI,WAAW,CAC3D,CAAC,EACD,SAAS,EACT,SAAS,CAAC,SAAS,CAAC,EACpB,MAAM,SAAS,CACf,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,WAAW,EACtD,OAAO,GAAE;IACR,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;CACb,GACJ,WAAW,CAAC,CAAC,CAAC,CAehB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plumbing the point marks share: stable tooltip handlers for a batched
|
|
3
|
+
* layer, and a last-value cache for the shared props handed to it. Internal.
|
|
4
|
+
*/
|
|
5
|
+
import type { Point } from "@sophistry/core/geometry";
|
|
6
|
+
import type { TooltipContent, TooltipState } from "../tooltip";
|
|
7
|
+
/** The interaction props of a batched layer with tooltips. */
|
|
8
|
+
export interface ItemHandlerProps {
|
|
9
|
+
label?: string;
|
|
10
|
+
onEnter?: (event: never) => void;
|
|
11
|
+
onLeave?: (event: never) => void;
|
|
12
|
+
onTap?: (event: never) => void;
|
|
13
|
+
itemLabel?: (item: number) => string | undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A batched layer's tooltip handlers, made once so their identities hold
|
|
17
|
+
* across updates (the layer's shared props then compare equal and the node
|
|
18
|
+
* restyles nothing). Call once, in `setup`.
|
|
19
|
+
*
|
|
20
|
+
* @param tooltip - The chart's tooltip state, or null outside a chart.
|
|
21
|
+
* @param textOf - Item `event.item`'s tooltip, or undefined for none.
|
|
22
|
+
* @param atOf - Where item `event.item`'s tooltip points, in scene units.
|
|
23
|
+
* @returns `(enabled, label)`: the props to spread into the layer's shared
|
|
24
|
+
* props, empty when `enabled` is false or there is no tooltip.
|
|
25
|
+
*/
|
|
26
|
+
export declare function createItemHandlers(tooltip: TooltipState | null, textOf: (item: number) => TooltipContent | undefined, atOf: (item: number) => Point | undefined): (enabled: boolean, label: string) => ItemHandlerProps;
|
|
27
|
+
/** Whether a mark with this `tooltip` prop shows tooltips in this chart. */
|
|
28
|
+
export declare function tooltipsOn(tooltip: TooltipState | null, own: unknown): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* A last-value cache for a batched layer's shared props: hands back the
|
|
31
|
+
* previous object while the next one is shallowly equal, so the node sees
|
|
32
|
+
* no change.
|
|
33
|
+
*/
|
|
34
|
+
export declare function stableShared<P extends object>(): (next: P) => P;
|
|
35
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/points/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/D,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,EACpD,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,SAAS,GACvC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,gBAAgB,CAUvD;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CACzB,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,GAAG,EAAE,OAAO,GACV,OAAO,CAKT;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAO/D"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `stem`: a drop line from the baseline to each value, capped with a
|
|
3
|
+
* marker. Two instances nodes per layer: the drop lines (`line`, see
|
|
4
|
+
* `segment-marks.ts`) and the markers (`circle`), registered in that order
|
|
5
|
+
* so every marker paints over every line.
|
|
6
|
+
*
|
|
7
|
+
* A gradient `stroke` keeps one `line` and one `circle` node per stem: a gradient paints in its own shape's frame, which a batched
|
|
8
|
+
* item does not have (the core rejects gradient fills on instances).
|
|
9
|
+
*/
|
|
10
|
+
import type { CircleProps } from "@sophistry/core";
|
|
11
|
+
import type { BandKey } from "@sophistry/core/geometry";
|
|
12
|
+
import type { MarkTransition } from "../batch";
|
|
13
|
+
import type { Channel, ColorChannel, PositionValue } from "../data/channels";
|
|
14
|
+
import type { KeyedTransitionProps, RevealProps, StaggerOrder } from "../props";
|
|
15
|
+
/**
|
|
16
|
+
* Props of {@link stem}.
|
|
17
|
+
*
|
|
18
|
+
* @category Charts
|
|
19
|
+
*/
|
|
20
|
+
export interface StemProps<T = unknown> extends KeyedTransitionProps<T>, RevealProps {
|
|
21
|
+
/** One drop line and marker per datum; data with a non-finite `x` or `y` are skipped. */
|
|
22
|
+
data: readonly T[];
|
|
23
|
+
/** X position, in data units (a `Date` reads as epoch ms). Defaults to the index when `data` is `number[]`. */
|
|
24
|
+
x?: Channel<T, PositionValue>;
|
|
25
|
+
/** Y position, in data units. Defaults to the datum when `data` is `number[]`. */
|
|
26
|
+
y?: Channel<T, number>;
|
|
27
|
+
/** Data-space y the drop lines start from. Defaults to the axis baseline. */
|
|
28
|
+
baseline?: number;
|
|
29
|
+
/** The series each stem belongs to: colours stems through the chart's shared colour scale and legend. `color` and `stroke` win. */
|
|
30
|
+
series?: Channel<T, BandKey>;
|
|
31
|
+
/**
|
|
32
|
+
* Colour of the drop line and marker, constant or `(d, i) => colour`. Defaults to `stroke`,
|
|
33
|
+
* else the `series` colour, else the theme's first series colour.
|
|
34
|
+
*/
|
|
35
|
+
color?: ColorChannel<T>;
|
|
36
|
+
/** Line paint, a colour or a gradient; `color` wins. */
|
|
37
|
+
stroke?: CircleProps["stroke"];
|
|
38
|
+
/** Line width. */
|
|
39
|
+
strokeWidth?: number;
|
|
40
|
+
opacity?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Marker radius.
|
|
43
|
+
* @default 0.09
|
|
44
|
+
*/
|
|
45
|
+
markerRadius?: number;
|
|
46
|
+
/** The order `stagger` and `enterStagger` take. @default "position" */
|
|
47
|
+
staggerOrder?: StaggerOrder;
|
|
48
|
+
/**
|
|
49
|
+
* Reveal, 0..1: each line grows from the baseline, the marker riding its tip (fading in
|
|
50
|
+
* instead when the axis has no zero).
|
|
51
|
+
* @default 1
|
|
52
|
+
*/
|
|
53
|
+
progress?: number;
|
|
54
|
+
/** How stems move when `data` changes outside a `to` blend; see {@link MarkTransition}. */
|
|
55
|
+
transition?: MarkTransition;
|
|
56
|
+
zIndex?: number;
|
|
57
|
+
visible?: boolean;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* A stem plot: a drop line from the baseline to each value, capped with a
|
|
61
|
+
* marker. `progress` grows each line from the baseline, the marker riding
|
|
62
|
+
* its tip (fading in instead when the axis has no zero). Two instances
|
|
63
|
+
* nodes: lines, then markers.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* import { chart, stem } from "@sophistry/charts";
|
|
68
|
+
*
|
|
69
|
+
* chart.create({ width: 8, height: 4, children: [stem.create({ data: [3, 1, 4, 1, 5] })] });
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @see https://sophistry.dev/reference/chart-catalogue/#lines-scatter-and-error-bars
|
|
73
|
+
* @category Charts
|
|
74
|
+
*/
|
|
75
|
+
export declare const stem: import("@sophistry/core").Definition<StemProps<any>, import("@sophistry/core/internal").CompositeNode<StemProps<any>>, keyof StemProps<any>>;
|
|
76
|
+
//# sourceMappingURL=stem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stem.d.ts","sourceRoot":"","sources":["../../src/points/stem.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAA+B,MAAM,iBAAiB,CAAC;AAQhF,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAiB7E,OAAO,KAAK,EAEX,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,MAAM,UAAU,CAAC;AAUlB;;;;GAIG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,GAAG,OAAO,CACrC,SAAQ,oBAAoB,CAAC,CAAC,CAAC,EAC9B,WAAW;IACZ,yFAAyF;IACzF,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IACnB,+GAA+G;IAC/G,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC9B,kFAAkF;IAClF,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mIAAmI;IACnI,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB,wDAAwD;IACxD,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAwSD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,8IAyDf,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `strip` and `beeswarm`: one dot per value, spread across its category's
|
|
3
|
+
* band (by seeded jitter, or packed without overlap). One `circle`
|
|
4
|
+
* instances node per layer.
|
|
5
|
+
*/
|
|
6
|
+
import type { BandKey } from "@sophistry/core/geometry";
|
|
7
|
+
import type { MarkTransition } from "../batch";
|
|
8
|
+
import type { Channel, ColorChannel } from "../data/channels";
|
|
9
|
+
import type { KeyedTransitionProps, RevealProps, StaggerOrder } from "../props";
|
|
10
|
+
import type { TooltipSpec } from "../tooltip";
|
|
11
|
+
/**
|
|
12
|
+
* What {@link strip} and {@link beeswarm} share.
|
|
13
|
+
*
|
|
14
|
+
* @category Charts
|
|
15
|
+
*/
|
|
16
|
+
export interface DotDistributionProps<T> extends KeyedTransitionProps<T>, RevealProps {
|
|
17
|
+
/** One dot per datum. */
|
|
18
|
+
data: readonly T[];
|
|
19
|
+
/** The value, in data units. Defaults to the datum when `data` is `number[]`. Non-finite values draw no dot. */
|
|
20
|
+
value?: Channel<T, number>;
|
|
21
|
+
/** Which group a dot belongs to: a category on the band axis. Omitted, every dot shares one line through the middle. */
|
|
22
|
+
category?: Channel<T, BandKey>;
|
|
23
|
+
/**
|
|
24
|
+
* `"vertical"` puts categories along x and values up y; `"horizontal"` puts values along x.
|
|
25
|
+
* @default "vertical"
|
|
26
|
+
*/
|
|
27
|
+
orientation?: "vertical" | "horizontal";
|
|
28
|
+
/**
|
|
29
|
+
* Dot radius.
|
|
30
|
+
* @default 0.07
|
|
31
|
+
*/
|
|
32
|
+
radius?: number;
|
|
33
|
+
/** The series each dot belongs to: colours dots through the chart's shared colour scale and legend. `color` wins. */
|
|
34
|
+
series?: Channel<T, BandKey>;
|
|
35
|
+
/**
|
|
36
|
+
* With a `series`: give each series its own sub-band, side by side, within its category's band.
|
|
37
|
+
* @default false
|
|
38
|
+
*/
|
|
39
|
+
dodge?: boolean;
|
|
40
|
+
/** Dot fill, constant or `(d, i) => colour`. Defaults to the `series` colour, else the theme's first series colour. */
|
|
41
|
+
color?: ColorChannel<T>;
|
|
42
|
+
/**
|
|
43
|
+
* Fill opacity, 0..1.
|
|
44
|
+
* @default 1
|
|
45
|
+
*/
|
|
46
|
+
fillOpacity?: number;
|
|
47
|
+
opacity?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Reveal, 0..1: each dot fades in place as its radius grows.
|
|
50
|
+
* @default 1
|
|
51
|
+
*/
|
|
52
|
+
progress?: number;
|
|
53
|
+
/** The order `stagger` and `enterStagger` take. @default "position" */
|
|
54
|
+
staggerOrder?: StaggerOrder;
|
|
55
|
+
/** Hover tooltip: `true` for a row per channel (`category`, `series`, `value`), or a template, function or options. */
|
|
56
|
+
tooltip?: TooltipSpec<T>;
|
|
57
|
+
/** How dots move when `data` changes outside a `to` blend; see {@link MarkTransition}. */
|
|
58
|
+
transition?: MarkTransition;
|
|
59
|
+
zIndex?: number;
|
|
60
|
+
visible?: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Props of {@link strip}.
|
|
64
|
+
*
|
|
65
|
+
* @category Charts
|
|
66
|
+
*/
|
|
67
|
+
export interface StripProps<T = unknown> extends DotDistributionProps<T> {
|
|
68
|
+
/**
|
|
69
|
+
* How far dots spread across their band, as a fraction of it.
|
|
70
|
+
* @default 0.6
|
|
71
|
+
*/
|
|
72
|
+
width?: number;
|
|
73
|
+
/**
|
|
74
|
+
* What each dot's jitter hashes: something stable about the datum, so dots keep their place
|
|
75
|
+
* when others come and go. Defaults to its `key` if given, else its index.
|
|
76
|
+
*/
|
|
77
|
+
jitterKey?: Channel<T, string | number>;
|
|
78
|
+
/**
|
|
79
|
+
* Varies the jitter pattern.
|
|
80
|
+
* @default 0
|
|
81
|
+
*/
|
|
82
|
+
seed?: number;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Props of {@link beeswarm}.
|
|
86
|
+
*
|
|
87
|
+
* @category Charts
|
|
88
|
+
*/
|
|
89
|
+
export interface BeeswarmProps<T = unknown> extends DotDistributionProps<T> {
|
|
90
|
+
/**
|
|
91
|
+
* Extra room between neighbouring dots.
|
|
92
|
+
* @default 0.01
|
|
93
|
+
*/
|
|
94
|
+
gap?: number;
|
|
95
|
+
/**
|
|
96
|
+
* `"both"` packs the swarm around the band's centre line; `"positive"` stacks it up (or right)
|
|
97
|
+
* from the band's lower edge, like a dot plot.
|
|
98
|
+
* @default "both"
|
|
99
|
+
*/
|
|
100
|
+
side?: "both" | "positive";
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* A strip plot: one dot per value, spread across its category's band by seeded jitter so dots
|
|
104
|
+
* don't pile into a line. The jitter is stable, so scrubbing never reshuffles it. Use
|
|
105
|
+
* {@link beeswarm} to pack dots without overlap instead. One instances node.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* import { chart, strip } from "@sophistry/charts";
|
|
110
|
+
*
|
|
111
|
+
* const rows = [
|
|
112
|
+
* { group: "a", score: 3 },
|
|
113
|
+
* { group: "a", score: 5 },
|
|
114
|
+
* { group: "b", score: 4 },
|
|
115
|
+
* { group: "b", score: 7 },
|
|
116
|
+
* ];
|
|
117
|
+
* chart.create({ width: 8, height: 4, children: [strip.create({ data: rows, value: "score", category: "group" })] });
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* @see https://sophistry.dev/reference/chart-catalogue/#distributions
|
|
121
|
+
* @category Charts
|
|
122
|
+
*/
|
|
123
|
+
export declare const strip: import("@sophistry/core").Definition<StripProps<any>, import("@sophistry/core/internal").CompositeNode<StripProps<any>>, keyof StripProps<any>>;
|
|
124
|
+
/**
|
|
125
|
+
* A beeswarm: one dot per value, each pushed across its band just far enough not to overlap,
|
|
126
|
+
* so the outline traces the distribution. Dots are packed in scene units, so a swarm re-packs
|
|
127
|
+
* when the plot is resized. One instances node.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```ts
|
|
131
|
+
* import { beeswarm, chart } from "@sophistry/charts";
|
|
132
|
+
*
|
|
133
|
+
* const rows = [
|
|
134
|
+
* { group: "a", score: 3 },
|
|
135
|
+
* { group: "a", score: 5 },
|
|
136
|
+
* { group: "b", score: 4 },
|
|
137
|
+
* { group: "b", score: 7 },
|
|
138
|
+
* ];
|
|
139
|
+
* chart.create({ width: 8, height: 4, children: [beeswarm.create({ data: rows, value: "score", category: "group" })] });
|
|
140
|
+
* ```
|
|
141
|
+
*
|
|
142
|
+
* @see https://sophistry.dev/reference/chart-catalogue/#distributions
|
|
143
|
+
* @category Charts
|
|
144
|
+
*/
|
|
145
|
+
export declare const beeswarm: import("@sophistry/core").Definition<BeeswarmProps<any>, import("@sophistry/core/internal").CompositeNode<BeeswarmProps<any>>, keyof BeeswarmProps<any>>;
|
|
146
|
+
//# sourceMappingURL=strip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip.d.ts","sourceRoot":"","sources":["../../src/points/strip.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,0BAA0B,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAuBxE,OAAO,KAAK,EAEX,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,YAAY,CAAC;AAQ5D;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACtC,SAAQ,oBAAoB,CAAC,CAAC,CAAC,EAC9B,WAAW;IACZ,yBAAyB;IACzB,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;IACnB,gHAAgH;IAChH,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3B,wHAAwH;IACxH,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qHAAqH;IACrH,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uHAAuH;IACvH,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uHAAuH;IACvH,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACzB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IACvE;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACxC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAC1E;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC3B;AAiiBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,KAAK,iJAUhB,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,QAAQ,0JASnB,CAAC"}
|