@fundar/data-chart-telling 1.0.0 → 1.2.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/CHANGELOG.md +53 -0
- package/README.md +58 -19
- package/dist/configuration/config.svelte.d.ts +1 -1
- package/dist/configuration/config.svelte.js +172 -95
- package/dist/configuration/themes/index.d.ts +5 -1304
- package/dist/index.d.ts +24 -14
- package/dist/index.js +20 -10
- package/dist/layout/base/BasePlotLayout.svelte +129 -51
- package/dist/layout/base/BasePlotLayout.svelte.d.ts +1 -38
- package/dist/layout/coordinates/CoordinatesLayout.svelte +42 -40
- package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +0 -2
- package/dist/layout/coordinates/ProjectionZoom.svelte +48 -0
- package/dist/layout/coordinates/ProjectionZoom.svelte.d.ts +10 -0
- package/dist/layout/coordinates/ZoomedProjection.d.ts +11 -0
- package/dist/layout/coordinates/ZoomedProjection.js +24 -0
- package/dist/layout/coordinates/camera.svelte.js +11 -8
- package/dist/layout/coordinates/projections/argentina.js +1 -1
- package/dist/layout/coordinates/projections/fit.d.ts +1 -1
- package/dist/layout/coordinates/projections/fit.js +1 -1
- package/dist/layout/coordinates/zoom.svelte.d.ts +4 -5
- package/dist/layout/coordinates/zoom.svelte.js +4 -5
- package/dist/layout/facet/FacetLayout.svelte +1 -1
- package/dist/layout/facet/config.js +1 -1
- package/dist/layout/figure/Figure.svelte +2 -0
- package/dist/layout/geometry/GeometryLayout.svelte +14 -9
- package/dist/layout/geometry/GeometryLayout.svelte.d.ts +0 -3
- package/dist/layout/geometry/MarkerOffset.svelte +28 -0
- package/dist/layout/geometry/MarkerOffset.svelte.d.ts +13 -0
- package/dist/layout/grid/GridCell.svelte +6 -8
- package/dist/layout/hover/HoverSettings.d.ts +20 -6
- package/dist/layout/hover/HoverSettings.js +29 -4
- package/dist/layout/legend/ContinuousSection.svelte +44 -9
- package/dist/layout/legend/DiscreteBadgeItem.svelte +2 -2
- package/dist/layout/legend/DiscreteSection.svelte +2 -2
- package/dist/layout/legend/DiscreteSymbolIcon.svelte +1 -1
- package/dist/layout/legend/LegendChannels.js +36 -12
- package/dist/layout/legend/LegendLayout.svelte +9 -1
- package/dist/layout/legend/LegendState.svelte.d.ts +9 -0
- package/dist/layout/legend/LegendState.svelte.js +24 -3
- package/dist/layout/legend/SizeSection.svelte +1 -1
- package/dist/layout/margins/PlotMargins.svelte.d.ts +2 -5
- package/dist/layout/margins/PlotMargins.svelte.js +4 -8
- package/dist/layout/plot/Plot.svelte +6 -3
- package/dist/layout/plot/PublicPlotContext.d.ts +5 -4
- package/dist/layout/plot/PublicPlotContext.js +7 -3
- package/dist/layout/plot/Slice.d.ts +5 -1
- package/dist/layout/plot/Slice.js +18 -6
- package/dist/layout/scales/EdgeTicks.d.ts +39 -0
- package/dist/layout/scales/EdgeTicks.js +82 -0
- package/dist/layout/scales/NiceTicks.d.ts +43 -0
- package/dist/layout/scales/NiceTicks.js +76 -0
- package/dist/layout/scales/ScalesLayout.svelte +133 -34
- package/dist/layout/scales/ScalesLayout.svelte.d.ts +10 -0
- package/dist/layout/scales/SveltePlotScale.d.ts +15 -0
- package/dist/layout/scales/SveltePlotScale.js +86 -0
- package/dist/layout/scales/TickLabels.d.ts +32 -0
- package/dist/layout/scales/TickLabels.js +55 -0
- package/dist/layout/styles/StylesLayout.svelte +2 -2
- package/dist/layout/styles/ValueLabels.d.ts +33 -5
- package/dist/layout/styles/ValueLabels.js +83 -23
- package/dist/layout/timeline/Timeline.svelte +5 -2
- package/dist/layout/timeline/Timeline.svelte.d.ts +2 -0
- package/dist/layout/timeline/TimelineLayout.svelte +39 -13
- package/dist/layout/timeline/TimelineLayout.svelte.d.ts +7 -5
- package/dist/layout/timeline/TimelineRule.svelte +1 -0
- package/dist/layout/timeline/TimelineState.svelte.d.ts +13 -5
- package/dist/layout/timeline/TimelineState.svelte.js +42 -8
- package/dist/layout/timeline/TimelineTime.d.ts +18 -0
- package/dist/layout/timeline/TimelineTime.js +117 -0
- package/dist/layout/tooltip/Tooltip.svelte +10 -7
- package/dist/layout/tooltip/Tooltip.svelte.d.ts +6 -4
- package/dist/layout/tooltip/TooltipState.svelte.d.ts +8 -2
- package/dist/layout/tooltip/TooltipState.svelte.js +23 -4
- package/dist/markers/MarkerKinds.d.ts +5 -0
- package/dist/markers/MarkerKinds.js +1 -0
- package/dist/markers/area/AreaMarker.svelte +15 -63
- package/dist/markers/arrow/ArrowMarker.svelte +51 -9
- package/dist/markers/bar/BarMarker.svelte +8 -4
- package/dist/markers/bollinger/BollingerMarker.svelte +33 -18
- package/dist/markers/box/BoxMarker.svelte +40 -9
- package/dist/markers/delta/Delta.js +1 -1
- package/dist/markers/delta/DeltaMarker.svelte +9 -7
- package/dist/markers/dot/DotMarker.svelte +24 -27
- package/dist/markers/image/ImageMarker.svelte +17 -12
- package/dist/markers/inset/InsetMarker.svelte +2 -2
- package/dist/markers/line/LineMarker.svelte +1 -0
- package/dist/markers/link/LinkMarker.svelte +174 -29
- package/dist/markers/regression/RegressionMarker.svelte +16 -33
- package/dist/markers/rule/RuleMarker.svelte +9 -3
- package/dist/markers/text/Declutter.d.ts +4 -0
- package/dist/markers/text/Declutter.js +26 -11
- package/dist/markers/text/TextMarker.svelte +91 -48
- package/dist/markers/tick/TickMarker.svelte +27 -25
- package/dist/markers/utils/MarkerChannels.d.ts +24 -0
- package/dist/markers/utils/MarkerChannels.js +42 -7
- package/dist/markers/utils/RowOffset.d.ts +23 -0
- package/dist/markers/utils/RowOffset.js +23 -0
- package/dist/markers/utils/RowOffsetMarks.svelte +30 -0
- package/dist/markers/utils/RowOffsetMarks.svelte.d.ts +33 -0
- package/dist/markers/utils/RowStroke.d.ts +31 -0
- package/dist/markers/utils/RowStroke.js +28 -0
- package/dist/markers/violin/ViolinMarker.svelte +75 -0
- package/dist/markers/violin/ViolinMarker.svelte.d.ts +7 -0
- package/dist/markers/violin/ViolinProfiles.d.ts +29 -0
- package/dist/markers/violin/ViolinProfiles.js +55 -0
- package/dist/markers/waffle/WaffleMarker.svelte +17 -37
- package/dist/phases/Pipeline.d.ts +5 -0
- package/dist/phases/Pipeline.js +8 -2
- package/dist/phases/data/DataPhase.d.ts +5 -11
- package/dist/phases/data/DataPhase.js +14 -11
- package/dist/phases/data/PlotAxes.d.ts +10 -0
- package/dist/phases/data/PlotAxes.js +14 -1
- package/dist/phases/facet/FacetPanels.d.ts +55 -0
- package/dist/phases/facet/FacetPanels.js +96 -0
- package/dist/phases/facet/FacetPhase.d.ts +1 -42
- package/dist/phases/facet/FacetPhase.js +1 -87
- package/dist/phases/hover/HoverPhase.d.ts +6 -43
- package/dist/phases/hover/HoverPhase.js +19 -54
- package/dist/phases/mapping/MappingPhase.d.ts +1 -1
- package/dist/phases/mapping/MappingPhase.js +3 -5
- package/dist/phases/markers/MarkersPhase.js +2 -1
- package/dist/phases/scales/CategoryOrder.d.ts +23 -0
- package/dist/phases/scales/CategoryOrder.js +73 -0
- package/dist/phases/scales/ScalesPhase.d.ts +1 -3
- package/dist/phases/scales/ScalesPhase.js +37 -27
- package/dist/phases/sharedScales/SharedScalesPhase.d.ts +6 -2
- package/dist/phases/sharedScales/SharedScalesPhase.js +14 -8
- package/dist/phases/statistics/Statistics.d.ts +10 -6
- package/dist/phases/statistics/Statistics.js +20 -10
- package/dist/phases/statistics/StatisticsPhase.js +10 -6
- package/dist/phases/statistics/methods/BollingerStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/BollingerStatistic.js +13 -11
- package/dist/phases/statistics/methods/BoxStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/BoxStatistic.js +14 -12
- package/dist/phases/statistics/methods/Density2dStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/Density2dStatistic.js +13 -11
- package/dist/phases/statistics/methods/DensityStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/DensityStatistic.js +11 -9
- package/dist/phases/statistics/methods/DeviationStatistic.d.ts +8 -0
- package/dist/phases/statistics/methods/DeviationStatistic.js +111 -0
- package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/MovingAverageStatistic.js +11 -9
- package/dist/phases/statistics/methods/RegressionStatistic.d.ts +1 -1
- package/dist/phases/statistics/methods/RegressionStatistic.js +16 -14
- package/dist/phases/tooltip/TooltipPhase.d.ts +4 -2
- package/dist/phases/tooltip/TooltipPhase.js +10 -3
- package/dist/phases/transforms/ProcessedPositions.d.ts +30 -0
- package/dist/phases/transforms/ProcessedPositions.js +74 -0
- package/dist/phases/transforms/TransformsPhase.d.ts +5 -42
- package/dist/phases/transforms/TransformsPhase.js +67 -58
- package/dist/phases/transforms/ValueSelection.d.ts +30 -0
- package/dist/phases/transforms/ValueSelection.js +53 -0
- package/dist/plots/{heatmap → correlation/heatmap}/Plot.svelte +5 -2
- package/dist/plots/{heatmap → correlation/heatmap}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{heatmap → correlation/heatmap}/defaults.d.ts +2 -2
- package/dist/plots/{heatmap → correlation/heatmap}/defaults.js +5 -5
- package/dist/plots/{heatmap → correlation/heatmap}/markers.d.ts +4 -4
- package/dist/plots/{heatmap → correlation/heatmap}/markers.js +4 -3
- package/dist/plots/{scatter → correlation/scatter}/Plot.svelte +5 -2
- package/dist/plots/{scatter → correlation/scatter}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{scatter → correlation/scatter}/defaults.d.ts +2 -2
- package/dist/plots/{scatter → correlation/scatter}/defaults.js +6 -5
- package/dist/plots/{scatter → correlation/scatter}/markers.d.ts +4 -4
- package/dist/plots/{scatter → correlation/scatter}/markers.js +5 -4
- package/dist/plots/distribution/box/BoxSummaries.d.ts +19 -0
- package/dist/plots/distribution/box/BoxSummaries.js +101 -0
- package/dist/plots/distribution/box/Plot.svelte +42 -0
- package/dist/plots/distribution/box/Plot.svelte.d.ts +26 -0
- package/dist/plots/distribution/box/defaults.d.ts +12 -0
- package/dist/plots/distribution/box/defaults.js +34 -0
- package/dist/plots/distribution/box/markers.d.ts +12 -0
- package/dist/plots/distribution/box/markers.js +34 -0
- package/dist/plots/distribution/density/Plot.svelte +45 -0
- package/dist/plots/distribution/density/Plot.svelte.d.ts +26 -0
- package/dist/plots/distribution/density/defaults.d.ts +9 -0
- package/dist/plots/distribution/density/defaults.js +29 -0
- package/dist/plots/distribution/density/markers.d.ts +9 -0
- package/dist/plots/distribution/density/markers.js +42 -0
- package/dist/plots/{histogram → distribution/histogram}/Plot.svelte +2 -2
- package/dist/plots/{histogram → distribution/histogram}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{histogram → distribution/histogram}/defaults.d.ts +2 -2
- package/dist/plots/{histogram → distribution/histogram}/defaults.js +4 -4
- package/dist/plots/{histogram → distribution/histogram}/markers.d.ts +3 -3
- package/dist/plots/{histogram → distribution/histogram}/markers.js +7 -7
- package/dist/plots/{pyramid → distribution/pyramid}/Plot.svelte +5 -2
- package/dist/plots/{pyramid → distribution/pyramid}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{pyramid → distribution/pyramid}/defaults.d.ts +2 -2
- package/dist/plots/{pyramid → distribution/pyramid}/defaults.js +7 -6
- package/dist/plots/{pyramid → distribution/pyramid}/markers.d.ts +4 -4
- package/dist/plots/{pyramid → distribution/pyramid}/markers.js +8 -11
- package/dist/plots/distribution/violin/Plot.svelte +45 -0
- package/dist/plots/distribution/violin/Plot.svelte.d.ts +26 -0
- package/dist/plots/distribution/violin/defaults.d.ts +10 -0
- package/dist/plots/distribution/violin/defaults.js +58 -0
- package/dist/plots/distribution/violin/markers.d.ts +10 -0
- package/dist/plots/distribution/violin/markers.js +71 -0
- package/dist/plots/{area → evolution/area}/Plot.svelte +2 -2
- package/dist/plots/{area → evolution/area}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{area → evolution/area}/defaults.d.ts +2 -2
- package/dist/plots/{area → evolution/area}/defaults.js +2 -0
- package/dist/plots/{area → evolution/area}/markers.d.ts +2 -2
- package/dist/plots/{area → evolution/area}/markers.js +2 -3
- package/dist/plots/{line → evolution/line}/Plot.svelte +2 -2
- package/dist/plots/{line → evolution/line}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{line → evolution/line}/defaults.d.ts +2 -2
- package/dist/plots/{line → evolution/line}/defaults.js +2 -0
- package/dist/plots/{line → evolution/line}/markers.d.ts +11 -8
- package/dist/plots/{line → evolution/line}/markers.js +7 -6
- package/dist/plots/evolution/slope/Plot.svelte +42 -0
- package/dist/plots/evolution/slope/Plot.svelte.d.ts +26 -0
- package/dist/plots/evolution/slope/defaults.d.ts +8 -0
- package/dist/plots/evolution/slope/defaults.js +31 -0
- package/dist/plots/evolution/slope/markers.d.ts +16 -0
- package/dist/plots/evolution/slope/markers.js +79 -0
- package/dist/plots/evolution/sparkline/Plot.svelte +45 -0
- package/dist/plots/evolution/sparkline/Plot.svelte.d.ts +26 -0
- package/dist/plots/evolution/sparkline/defaults.d.ts +7 -0
- package/dist/plots/evolution/sparkline/defaults.js +23 -0
- package/dist/plots/evolution/sparkline/markers.d.ts +7 -0
- package/dist/plots/evolution/sparkline/markers.js +56 -0
- package/dist/plots/{geo → map/geo}/Core.svelte +11 -10
- package/dist/plots/{geo → map/geo}/Core.svelte.d.ts +1 -1
- package/dist/plots/map/geo/GeoFeatures.svelte.d.ts +9 -0
- package/dist/plots/map/geo/GeoFeatures.svelte.js +55 -0
- package/dist/plots/map/geo/GeoGeometry.d.ts +27 -0
- package/dist/plots/map/geo/GeoGeometry.js +142 -0
- package/dist/plots/map/geo/GeoSegments.d.ts +16 -0
- package/dist/plots/map/geo/GeoSegments.js +23 -0
- package/dist/plots/{geo → map/geo}/Plot.svelte +10 -10
- package/dist/plots/{geo → map/geo}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{geo → map/geo}/defaults.d.ts +2 -2
- package/dist/plots/{geo → map/geo}/defaults.js +1 -1
- package/dist/plots/{geo → map/geo}/phases/data.d.ts +1 -1
- package/dist/plots/{geo → map/geo}/phases/data.js +7 -6
- package/dist/plots/{geo → map/geo}/phases/hover.d.ts +1 -1
- package/dist/plots/{geo → map/geo}/phases/hover.js +5 -5
- package/dist/plots/{geo → map/geo}/phases/markers.d.ts +1 -1
- package/dist/plots/{geo → map/geo}/phases/markers.js +8 -13
- package/dist/plots/{geo → map/geo}/phases/scales.d.ts +2 -2
- package/dist/plots/{geo → map/geo}/phases/scales.js +28 -12
- package/dist/plots/{geo → map/geo}/phases/tooltip.d.ts +1 -1
- package/dist/plots/map/geo/phases/tooltip.js +5 -0
- package/dist/plots/{geo → map/geo}/slices.d.ts +2 -2
- package/dist/plots/{geo → map/geo}/slices.js +7 -4
- package/dist/plots/{bar → ranking/bar}/Plot.svelte +2 -2
- package/dist/plots/{bar → ranking/bar}/Plot.svelte.d.ts +2 -2
- package/dist/plots/ranking/bar/defaults.d.ts +16 -0
- package/dist/plots/{bar → ranking/bar}/defaults.js +17 -15
- package/dist/plots/{bar → ranking/bar}/markers.d.ts +8 -8
- package/dist/plots/{bar → ranking/bar}/markers.js +11 -19
- package/dist/plots/ranking/bullet/Plot.svelte +42 -0
- package/dist/plots/ranking/bullet/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/bullet/defaults.d.ts +8 -0
- package/dist/plots/ranking/bullet/defaults.js +24 -0
- package/dist/plots/ranking/bullet/markers.d.ts +10 -0
- package/dist/plots/ranking/bullet/markers.js +90 -0
- package/dist/plots/ranking/cleveland/ClevelandConnector.d.ts +48 -0
- package/dist/plots/ranking/cleveland/ClevelandConnector.js +140 -0
- package/dist/plots/ranking/cleveland/ClevelandMarkers.d.ts +33 -0
- package/dist/plots/ranking/cleveland/ClevelandMarkers.js +375 -0
- package/dist/plots/ranking/cleveland/ClevelandRanges.d.ts +31 -0
- package/dist/plots/ranking/cleveland/ClevelandRanges.js +116 -0
- package/dist/plots/ranking/cleveland/Plot.svelte +45 -0
- package/dist/plots/ranking/cleveland/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/cleveland/defaults.d.ts +13 -0
- package/dist/plots/ranking/cleveland/defaults.js +66 -0
- package/dist/plots/ranking/dumbbell/Plot.svelte +45 -0
- package/dist/plots/ranking/dumbbell/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/dumbbell/defaults.d.ts +9 -0
- package/dist/plots/ranking/dumbbell/defaults.js +19 -0
- package/dist/plots/ranking/forest/Plot.svelte +42 -0
- package/dist/plots/ranking/forest/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/forest/defaults.d.ts +11 -0
- package/dist/plots/ranking/forest/defaults.js +20 -0
- package/dist/plots/ranking/lollipop/Plot.svelte +45 -0
- package/dist/plots/ranking/lollipop/Plot.svelte.d.ts +26 -0
- package/dist/plots/ranking/lollipop/defaults.d.ts +9 -0
- package/dist/plots/ranking/lollipop/defaults.js +18 -0
- package/dist/plots/utils/RowNumbers.d.ts +16 -0
- package/dist/plots/utils/RowNumbers.js +24 -0
- package/dist/plots/utils/gaps.js +1 -1
- package/dist/plots/utils/segments.js +1 -1
- package/dist/types/configuration/styling.d.ts +287 -132
- package/dist/types/layout/composer.d.ts +5 -2
- package/dist/types/layout/coordinates.d.ts +5 -4
- package/dist/types/layout/legend.d.ts +21 -5
- package/dist/types/layout/plot.d.ts +44 -1
- package/dist/types/layout/scales.d.ts +51 -3
- package/dist/types/layout/statistics/deviation.d.ts +40 -0
- package/dist/types/layout/statistics/index.d.ts +7 -2
- package/dist/types/layout/styles/base.d.ts +18 -0
- package/dist/types/layout/styles/bullet.d.ts +25 -0
- package/dist/types/layout/styles/connector.d.ts +98 -0
- package/dist/types/layout/styles/curve.d.ts +11 -0
- package/dist/types/layout/styles/frame.d.ts +17 -0
- package/dist/types/layout/styles/gaps.d.ts +12 -0
- package/dist/types/layout/styles/geo.d.ts +55 -0
- package/dist/types/layout/styles/index.d.ts +8 -0
- package/dist/types/layout/styles/index.js +8 -0
- package/dist/types/layout/styles/values.d.ts +47 -0
- package/dist/types/layout/timeline.d.ts +19 -7
- package/dist/types/layout/tooltip.d.ts +6 -2
- package/dist/types/markers/axis/area.d.ts +2 -2
- package/dist/types/markers/axis/arrow.d.ts +3 -0
- package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +2 -1
- package/dist/types/markers/axis/bar.d.ts +1 -1
- package/dist/types/markers/axis/box.d.ts +5 -0
- package/dist/types/markers/axis/difference.d.ts +2 -2
- package/dist/types/markers/axis/image.d.ts +3 -2
- package/dist/types/markers/axis/line.d.ts +2 -0
- package/dist/types/markers/axis/rule.d.ts +9 -0
- package/dist/types/markers/axis/trail.d.ts +2 -3
- package/dist/types/markers/axis/violin.d.ts +25 -0
- package/dist/types/markers/basic/dot.d.ts +3 -2
- package/dist/types/markers/basic/text.d.ts +13 -3
- package/dist/types/markers/channels/commonMarkerConfig.d.ts +7 -3
- package/dist/types/markers/channels/commonMarkerConfigWithRowOffset.d.ts +13 -0
- package/dist/types/markers/common.d.ts +1 -1
- package/dist/types/markers/common.js +1 -0
- package/dist/types/markers/geo/link.d.ts +5 -1
- package/dist/types/phases/hover/phase.d.ts +6 -0
- package/dist/types/phases/index.d.ts +1 -1
- package/dist/types/phases/scales/phase.d.ts +5 -1
- package/dist/types/phases/state.d.ts +20 -4
- package/dist/types/phases/statistics/phase.d.ts +3 -1
- package/dist/types/phases/statistics/source.d.ts +3 -1
- package/dist/types/phases/transforms/phase.d.ts +32 -0
- package/dist/types/plots/{heatmap → correlation/heatmap}/props.d.ts +6 -6
- package/dist/types/plots/{heatmap → correlation/heatmap}/state.d.ts +4 -4
- package/dist/types/plots/{scatter → correlation/scatter}/props.d.ts +6 -6
- package/dist/types/plots/{scatter → correlation/scatter}/state.d.ts +2 -2
- package/dist/types/plots/distribution/box/props.d.ts +10 -0
- package/dist/types/plots/distribution/box/state.d.ts +23 -0
- package/dist/types/plots/distribution/density/props.d.ts +23 -0
- package/dist/types/plots/distribution/density/state.d.ts +6 -0
- package/dist/types/plots/distribution/density/state.js +1 -0
- package/dist/types/plots/{histogram → distribution/histogram}/props.d.ts +7 -7
- package/dist/types/plots/distribution/histogram/props.js +1 -0
- package/dist/types/plots/{histogram → distribution/histogram}/state.d.ts +2 -2
- package/dist/types/plots/distribution/histogram/state.js +1 -0
- package/dist/types/plots/{pyramid → distribution/pyramid}/props.d.ts +6 -6
- package/dist/types/plots/distribution/pyramid/props.js +1 -0
- package/dist/types/plots/{pyramid → distribution/pyramid}/state.d.ts +3 -3
- package/dist/types/plots/distribution/pyramid/state.js +1 -0
- package/dist/types/plots/distribution/violin/props.d.ts +23 -0
- package/dist/types/plots/distribution/violin/props.js +1 -0
- package/dist/types/plots/distribution/violin/state.d.ts +6 -0
- package/dist/types/plots/distribution/violin/state.js +1 -0
- package/dist/types/plots/{area → evolution/area}/props.d.ts +6 -6
- package/dist/types/plots/evolution/area/props.js +1 -0
- package/dist/types/plots/{area → evolution/area}/state.d.ts +2 -2
- package/dist/types/plots/evolution/area/state.js +1 -0
- package/dist/types/plots/evolution/line/props.d.ts +10 -0
- package/dist/types/plots/evolution/line/props.js +1 -0
- package/dist/types/plots/{line → evolution/line}/state.d.ts +3 -3
- package/dist/types/plots/evolution/line/state.js +1 -0
- package/dist/types/plots/evolution/slope/props.d.ts +5 -0
- package/dist/types/plots/evolution/slope/props.js +1 -0
- package/dist/types/plots/evolution/slope/state.d.ts +5 -0
- package/dist/types/plots/evolution/slope/state.js +1 -0
- package/dist/types/plots/evolution/sparkline/props.d.ts +5 -0
- package/dist/types/plots/evolution/sparkline/props.js +1 -0
- package/dist/types/plots/evolution/sparkline/state.d.ts +5 -0
- package/dist/types/plots/evolution/sparkline/state.js +1 -0
- package/dist/types/plots/{geo → map/geo}/props.d.ts +8 -8
- package/dist/types/plots/map/geo/props.js +1 -0
- package/dist/types/plots/{geo → map/geo}/state.d.ts +18 -11
- package/dist/types/plots/map/geo/state.js +1 -0
- package/dist/types/plots/props.d.ts +3 -1
- package/dist/types/plots/{bar → ranking/bar}/props.d.ts +6 -6
- package/dist/types/plots/ranking/bar/props.js +1 -0
- package/dist/types/plots/{bar → ranking/bar}/state.d.ts +2 -2
- package/dist/types/plots/ranking/bar/state.js +1 -0
- package/dist/types/plots/ranking/bullet/props.d.ts +22 -0
- package/dist/types/plots/ranking/bullet/props.js +1 -0
- package/dist/types/plots/ranking/bullet/state.d.ts +5 -0
- package/dist/types/plots/ranking/bullet/state.js +1 -0
- package/dist/types/plots/ranking/cleveland/props.d.ts +10 -0
- package/dist/types/plots/ranking/cleveland/props.js +1 -0
- package/dist/types/plots/ranking/cleveland/state.d.ts +49 -0
- package/dist/types/plots/ranking/cleveland/state.js +1 -0
- package/dist/types/plots/ranking/dumbbell/props.d.ts +10 -0
- package/dist/types/plots/ranking/dumbbell/props.js +1 -0
- package/dist/types/plots/ranking/dumbbell/state.d.ts +5 -0
- package/dist/types/plots/ranking/dumbbell/state.js +1 -0
- package/dist/types/plots/ranking/forest/props.d.ts +23 -0
- package/dist/types/plots/ranking/forest/props.js +1 -0
- package/dist/types/plots/ranking/forest/state.d.ts +5 -0
- package/dist/types/plots/ranking/forest/state.js +1 -0
- package/dist/types/plots/ranking/lollipop/props.d.ts +10 -0
- package/dist/types/plots/ranking/lollipop/props.js +1 -0
- package/dist/types/plots/ranking/lollipop/state.d.ts +5 -0
- package/dist/types/plots/ranking/lollipop/state.js +1 -0
- package/dist/types/plots/segments/common.d.ts +4 -1
- package/dist/utils/OpacityScale.d.ts +14 -0
- package/dist/utils/OpacityScale.js +43 -0
- package/dist/utils/{symbol.d.ts → SymbolPath.d.ts} +0 -12
- package/dist/utils/{symbol.js → SymbolPath.js} +0 -24
- package/dist/utils/SymbolScale.d.ts +18 -0
- package/dist/utils/SymbolScale.js +29 -0
- package/dist/utils/color/ColorRamp.d.ts +27 -0
- package/dist/utils/color/ColorRamp.js +120 -0
- package/dist/utils/color/CssColor.d.ts +19 -0
- package/dist/utils/color/CssColor.js +114 -0
- package/dist/utils/color/Palette.d.ts +21 -0
- package/dist/utils/color/Palette.js +52 -0
- package/dist/utils/color/index.d.ts +11 -3
- package/dist/utils/color/index.js +14 -3
- package/dist/utils/grouping.js +1 -1
- package/docs/architecture.md +1 -1
- package/docs/chrome.md +39 -8
- package/docs/composer.md +19 -3
- package/docs/concepts.md +1 -1
- package/docs/development.md +14 -5
- package/docs/facets.md +62 -8
- package/docs/getting-started.md +8 -9
- package/docs/legend.md +73 -24
- package/docs/markers.md +45 -32
- package/docs/plots/correlation/heatmap.md +26 -0
- package/docs/plots/correlation/scatter.md +35 -0
- package/docs/plots/distribution/box.md +28 -0
- package/docs/plots/distribution/density.md +26 -0
- package/docs/plots/distribution/histogram.md +33 -0
- package/docs/plots/distribution/pyramid.md +31 -0
- package/docs/plots/distribution/violin.md +35 -0
- package/docs/plots/evolution/area.md +32 -0
- package/docs/plots/evolution/line.md +93 -0
- package/docs/plots/evolution/slope.md +39 -0
- package/docs/plots/evolution/sparkline.md +34 -0
- package/docs/plots/ranking/bar.md +59 -0
- package/docs/plots/ranking/bullet.md +37 -0
- package/docs/plots/ranking/cleveland.md +54 -0
- package/docs/plots/ranking/dumbbell.md +39 -0
- package/docs/plots/ranking/forest.md +40 -0
- package/docs/plots/ranking/lollipop.md +39 -0
- package/docs/plots.md +22 -154
- package/docs/scales.md +50 -27
- package/docs/state.md +1 -1
- package/docs/styles-and-segments.md +96 -39
- package/docs/theming.md +33 -19
- package/docs/timeline.md +62 -28
- package/docs/tooltip-and-hover.md +72 -24
- package/docs/transforms-and-statistics.md +56 -25
- package/examples/BarValues.svelte +2 -2
- package/examples/Box.svelte +7 -0
- package/examples/Bullet.svelte +17 -0
- package/examples/Chrome.svelte +17 -0
- package/examples/ChromeOrder.svelte +18 -0
- package/examples/Cleveland.svelte +15 -0
- package/examples/Composer.svelte +23 -0
- package/examples/CustomTooltip.svelte +21 -14
- package/examples/Density.svelte +7 -0
- package/examples/Dumbbell.svelte +16 -0
- package/examples/Facets.svelte +3 -3
- package/examples/FacetsCarousel.svelte +14 -0
- package/examples/FacetsRowsCols.svelte +23 -0
- package/examples/FirstPlot.svelte +7 -0
- package/examples/Forest.svelte +17 -0
- package/examples/Gaps.svelte +21 -0
- package/examples/GroupedBars.svelte +15 -0
- package/examples/Heatmap.svelte +7 -0
- package/examples/HeatmapSegments.svelte +26 -0
- package/examples/Histogram.svelte +14 -0
- package/examples/HorizontalBars.svelte +15 -0
- package/examples/LegendSections.svelte +27 -0
- package/examples/LegendToggle.svelte +3 -3
- package/examples/LineByRegion.svelte +18 -0
- package/examples/LineDates.svelte +15 -0
- package/examples/LineStep.svelte +16 -0
- package/examples/LineStepSegment.svelte +18 -0
- package/examples/Lollipop.svelte +17 -0
- package/examples/Markers.svelte +27 -0
- package/examples/MovingAverage.svelte +15 -0
- package/examples/Pyramid.svelte +14 -0
- package/examples/Regression.svelte +14 -0
- package/examples/ResponsiveLine.svelte +7 -7
- package/examples/Scales.svelte +26 -0
- package/examples/Scatter.svelte +16 -0
- package/examples/SegmentHighlight.svelte +22 -0
- package/examples/Segments.svelte +11 -3
- package/examples/SegmentsBySeries.svelte +25 -0
- package/examples/Slope.svelte +17 -0
- package/examples/Sparkline.svelte +14 -0
- package/examples/StackedArea.svelte +16 -0
- package/examples/StackedBars.svelte +15 -0
- package/examples/TimelinePlayer.svelte +8 -7
- package/examples/TimelineRule.svelte +19 -0
- package/examples/Tooltip.svelte +3 -3
- package/examples/ValueLabels.svelte +21 -0
- package/examples/Violin.svelte +14 -0
- package/examples/datasets/argentina-chile-trends.ts +34 -0
- package/examples/datasets/commodity-prices.ts +48 -0
- package/examples/datasets/countries-over-time.ts +368 -0
- package/examples/datasets/daily-temperature.ts +121 -0
- package/examples/datasets/earthquakes.ts +977 -0
- package/examples/datasets/flight-routes.ts +29 -0
- package/examples/datasets/height-density.ts +37 -0
- package/examples/datasets/heights.ts +370 -0
- package/examples/datasets/index.ts +24 -0
- package/examples/datasets/inflation-by-region.ts +44 -0
- package/examples/datasets/inflation-ranges.ts +34 -0
- package/examples/datasets/iris-flower.ts +207 -0
- package/examples/datasets/life-expectancy.ts +95 -0
- package/examples/datasets/napoleons-march.ts +182 -0
- package/examples/datasets/penguins.ts +54 -0
- package/examples/datasets/population-by-age-with-gaps.ts +23 -0
- package/examples/datasets/population-by-age.ts +890 -0
- package/examples/datasets/province-population.ts +521 -0
- package/examples/datasets/stock-prices.ts +63 -0
- package/examples/datasets/weather-stations-over-time.ts +31 -0
- package/examples/datasets/weather-stations.ts +22 -0
- package/examples/datasets/wind-vectors.ts +30 -0
- package/examples/datasets/world-temperature.ts +400 -0
- package/llms-full.txt +51 -12
- package/llms.txt +60 -4
- package/package.json +12 -2
- package/dist/layout/scales/buildScale.d.ts +0 -8
- package/dist/layout/scales/buildScale.js +0 -67
- package/dist/layout/scales/niceDomain.d.ts +0 -23
- package/dist/layout/scales/niceDomain.js +0 -59
- package/dist/plots/bar/defaults.d.ts +0 -9
- package/dist/plots/geo/features.svelte.d.ts +0 -5
- package/dist/plots/geo/features.svelte.js +0 -44
- package/dist/plots/geo/phases/tooltip.js +0 -5
- package/dist/plots/utils/geoAccessors.d.ts +0 -72
- package/dist/plots/utils/geoAccessors.js +0 -220
- package/dist/plots/utils/geoSegments.d.ts +0 -29
- package/dist/plots/utils/geoSegments.js +0 -37
- package/dist/types/layout/styles.d.ts +0 -122
- package/dist/types/markers/axis/curveName.d.ts +0 -2
- package/dist/types/plots/line/props.d.ts +0 -10
- package/dist/utils/color/contrast.d.ts +0 -9
- package/dist/utils/color/contrast.js +0 -40
- package/dist/utils/color/cssColor.d.ts +0 -4
- package/dist/utils/color/cssColor.js +0 -77
- package/dist/utils/color/ramp.d.ts +0 -17
- package/dist/utils/color/ramp.js +0 -110
- package/dist/utils/opacity.d.ts +0 -9
- package/dist/utils/opacity.js +0 -38
- package/examples/data.ts +0 -12
- /package/dist/types/layout/{styles.js → statistics/deviation.js} +0 -0
- /package/dist/types/{markers/axis/curveName.js → layout/styles/base.js} +0 -0
- /package/dist/types/{plots/area/props.js → layout/styles/bullet.js} +0 -0
- /package/dist/types/{plots/area/state.js → layout/styles/connector.js} +0 -0
- /package/dist/types/{plots/bar/props.js → layout/styles/curve.js} +0 -0
- /package/dist/types/{plots/bar/state.js → layout/styles/frame.js} +0 -0
- /package/dist/types/{plots/geo/props.js → layout/styles/gaps.js} +0 -0
- /package/dist/types/{plots/geo/state.js → layout/styles/geo.js} +0 -0
- /package/dist/types/{plots/heatmap/props.js → layout/styles/values.js} +0 -0
- /package/dist/types/{plots/heatmap/state.js → markers/axis/violin.js} +0 -0
- /package/dist/types/{plots/histogram/props.js → markers/channels/commonMarkerConfigWithRowOffset.js} +0 -0
- /package/dist/types/plots/{line → correlation/heatmap}/props.js +0 -0
- /package/dist/types/plots/{histogram → correlation/heatmap}/state.js +0 -0
- /package/dist/types/plots/{pyramid → correlation/scatter}/props.js +0 -0
- /package/dist/types/plots/{line → correlation/scatter}/state.js +0 -0
- /package/dist/types/plots/{scatter → distribution/box}/props.js +0 -0
- /package/dist/types/plots/{pyramid → distribution/box}/state.js +0 -0
- /package/dist/types/plots/{scatter/state.js → distribution/density/props.js} +0 -0
- /package/dist/{plots/utils → utils}/accessors.d.ts +0 -0
- /package/dist/{plots/utils → utils}/accessors.js +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { CommonMarkerConfigWithRowOffset } from '../channels/commonMarkerConfigWithRowOffset';
|
|
1
2
|
import type { CommonMarkerConfigWithRadius } from '../channels/commonMarkerConfigWithRadius';
|
|
2
3
|
/** An image per row, centered on `x`/`y` (svelteplot's `Image`). */
|
|
3
|
-
export type ImageMarkerConfig = {
|
|
4
|
+
export type ImageMarkerConfig = CommonMarkerConfigWithRowOffset<{
|
|
4
5
|
type: 'image';
|
|
5
6
|
src: string | ((d: any) => string);
|
|
6
7
|
width?: number | ((d: any) => number);
|
|
@@ -9,4 +10,4 @@ export type ImageMarkerConfig = {
|
|
|
9
10
|
preserveAspectRatio?: string;
|
|
10
11
|
/** A constant opacity; the shared `opacity` channel is a color ramp, not this. */
|
|
11
12
|
opacity?: number;
|
|
12
|
-
} & Omit<CommonMarkerConfigWithRadius, 'opacity'
|
|
13
|
+
} & Omit<CommonMarkerConfigWithRadius, 'opacity'>>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { StrokeStyle } from '../../plots/styling';
|
|
2
|
+
import type { CurveName } from '../../layout/styles/curve';
|
|
2
3
|
import type { CommonMarkerConfigWithColor } from '../channels/commonMarkerConfigWithColor';
|
|
3
4
|
/** A single line-segment stroke; `color` strokes each `grouping`'s line in its own color. */
|
|
4
5
|
export type LineMarkerConfig = {
|
|
5
6
|
type: 'line';
|
|
7
|
+
curve?: CurveName;
|
|
6
8
|
styles?: StrokeStyle;
|
|
7
9
|
} & CommonMarkerConfigWithColor;
|
|
@@ -11,5 +11,14 @@ export type RuleMarkerConfig = {
|
|
|
11
11
|
insetBottom?: number;
|
|
12
12
|
insetLeft?: number;
|
|
13
13
|
insetRight?: number;
|
|
14
|
+
/**
|
|
15
|
+
* A stroke color for each row - a field key or a function of the row - drawn
|
|
16
|
+
* as it is, not mapped through a color scale. Wins over `styles.stroke`.
|
|
17
|
+
*/
|
|
18
|
+
stroke?: string | ((d: any) => string | undefined);
|
|
19
|
+
/** A stroke width for each row - a field key or a function of the row. Wins over `styles.strokeWidth`. */
|
|
20
|
+
strokeWidth?: string | ((d: any) => number);
|
|
21
|
+
/** A stroke opacity for each row - a field key or a function of the row - drawn as it is. Wins over `styles.strokeOpacity`. */
|
|
22
|
+
strokeOpacity?: string | ((d: any) => number);
|
|
14
23
|
styles?: StrokeStyle;
|
|
15
24
|
} & CommonMarkerConfigWithInterval;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import type { AreaStyle } from '../../plots/styling';
|
|
2
2
|
import type { CommonMarkerConfigWithColor } from '../channels/commonMarkerConfigWithColor';
|
|
3
3
|
import type { CommonMarkerConfigWithRadius } from '../channels/commonMarkerConfigWithRadius';
|
|
4
|
-
import type {
|
|
4
|
+
import type { CurveName } from '../../layout/styles/curve';
|
|
5
5
|
/** A variable-width ribbon following a path (svelteplot's `Trail`), its width set by `r`. */
|
|
6
6
|
export type TrailMarkerConfig = {
|
|
7
7
|
type: 'trail';
|
|
8
|
-
curve?:
|
|
8
|
+
curve?: CurveName;
|
|
9
9
|
tension?: number;
|
|
10
10
|
cap?: 'butt' | 'round';
|
|
11
11
|
resolution?: number | 'auto';
|
|
12
|
-
/** A trail is filled only; svelteplot's `Trail` has no stroke. */
|
|
13
12
|
styles?: Pick<AreaStyle, 'fill' | 'fillOpacity'>;
|
|
14
13
|
} & CommonMarkerConfigWithRadius & CommonMarkerConfigWithColor;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { AreaStyle } from '../../plots/styling';
|
|
2
|
+
import type { DensityKernel } from '../../transforms/density';
|
|
3
|
+
import type { CommonMarkerConfig } from '../channels/commonMarkerConfig';
|
|
4
|
+
/**
|
|
5
|
+
* A violin per category of its rows: their density estimate mirrored around the
|
|
6
|
+
* middle of the category's band; a `box` marker over the same rows draws the box inside. `x` and `y` are the
|
|
7
|
+
* category and the value, in either order.
|
|
8
|
+
*/
|
|
9
|
+
export type ViolinMarkerConfig = {
|
|
10
|
+
type: 'violin';
|
|
11
|
+
/** Kernel shape of the estimate. */
|
|
12
|
+
kernel?: DensityKernel;
|
|
13
|
+
/** Kernel bandwidth in data units; Silverman's rule picks one per violin when unset. */
|
|
14
|
+
bandwidth?: number;
|
|
15
|
+
/** Cuts each violin at its values' own extent. Defaults to `true`. */
|
|
16
|
+
trim?: boolean;
|
|
17
|
+
/** The density that reaches a violin's full width; each violin's own peak when unset. */
|
|
18
|
+
peak?: number;
|
|
19
|
+
/** The share of each band the violin takes, when several series sit side by side: its index among `count`. */
|
|
20
|
+
slot?: {
|
|
21
|
+
index: number;
|
|
22
|
+
count: number;
|
|
23
|
+
};
|
|
24
|
+
styles?: AreaStyle;
|
|
25
|
+
} & CommonMarkerConfig;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { DotStyle } from '../../plots/styling';
|
|
2
2
|
import type { CommonMarkerConfigWithColor } from '../channels/commonMarkerConfigWithColor';
|
|
3
3
|
import type { CommonMarkerConfigWithRadius } from '../channels/commonMarkerConfigWithRadius';
|
|
4
|
+
import type { CommonMarkerConfigWithRowOffset } from '../channels/commonMarkerConfigWithRowOffset';
|
|
4
5
|
import type { CommonMarkerConfigWithSymbol } from '../channels/commonMarkerConfigWithSymbol';
|
|
5
6
|
/** A point mark (svelteplot's `Dot`), usable on any plot kind. */
|
|
6
|
-
export type DotMarkerConfig = {
|
|
7
|
+
export type DotMarkerConfig = CommonMarkerConfigWithRowOffset<{
|
|
7
8
|
type: 'dot';
|
|
8
9
|
styles?: DotStyle;
|
|
9
|
-
} & CommonMarkerConfigWithRadius & CommonMarkerConfigWithColor & CommonMarkerConfigWithSymbol
|
|
10
|
+
} & CommonMarkerConfigWithRadius & CommonMarkerConfigWithColor & CommonMarkerConfigWithSymbol>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { FontStyle, StrokeStyle } from '../../plots/styling';
|
|
2
2
|
import type { CommonMarkerConfig } from '../channels/commonMarkerConfig';
|
|
3
|
+
import type { CommonMarkerConfigWithRowOffset } from '../channels/commonMarkerConfigWithRowOffset';
|
|
3
4
|
import type { Margins } from '../../../layout/margins/Margins';
|
|
4
5
|
import type { BandSlice } from '../../layout/hover';
|
|
6
|
+
import type { TextAnchor } from '../../plots/constants';
|
|
5
7
|
/**
|
|
6
8
|
* Spreads labels that would overlap apart vertically, all reaching out to one
|
|
7
9
|
* shared column, each routed back to its own point by an elbow connector.
|
|
@@ -14,14 +16,20 @@ export type TextDeclutterConfig = {
|
|
|
14
16
|
laneStep?: number;
|
|
15
17
|
/** Clearance (px) between the outermost lane and the label text. */
|
|
16
18
|
labelGap?: number;
|
|
19
|
+
/** Routes every label out to the shared column through a connector, even when none of them overlaps. */
|
|
20
|
+
aligned?: boolean;
|
|
21
|
+
/** Whether a leftward fan with no room before the content box flips to the right. Defaults to `true`; labels meant for the margin there turn it off. */
|
|
22
|
+
flip?: boolean;
|
|
17
23
|
/** The connectors' stroke. Unset opacity follows each label's own `fillOpacity`. */
|
|
18
24
|
connector?: StrokeStyle;
|
|
19
25
|
};
|
|
20
26
|
/** A text label per row (svelteplot's `Text`), usable on any plot kind. */
|
|
21
|
-
export type TextMarkerConfig = {
|
|
27
|
+
export type TextMarkerConfig = CommonMarkerConfigWithRowOffset<{
|
|
22
28
|
type: 'text';
|
|
23
29
|
text: string | ((d: any) => string);
|
|
24
30
|
styles?: FontStyle;
|
|
31
|
+
/** Which side of its point the text sits on: a value, or a function of the row. Wins over `styles.textAnchor`. */
|
|
32
|
+
textAnchor?: TextAnchor | ((d: any) => TextAnchor);
|
|
25
33
|
/** Per-row fill, over `styles.fill`. */
|
|
26
34
|
fill?: string | ((d: any) => string | undefined);
|
|
27
35
|
/** Per-row fill opacity. */
|
|
@@ -31,11 +39,13 @@ export type TextMarkerConfig = {
|
|
|
31
39
|
/**
|
|
32
40
|
* Flips each label to the other side of its point (or nudges a centred one
|
|
33
41
|
* back in) where its text would cross the plot's edge. `styles.textAnchor`/
|
|
34
|
-
* `lineAnchor` are the preferred sides, `styles.dx`/`dy` the gap from the point.
|
|
42
|
+
* `lineAnchor` are the preferred sides, `dx`/`dy` (else `styles.dx`/`dy`) the gap from the point.
|
|
35
43
|
*/
|
|
36
44
|
edgeAware?: boolean;
|
|
37
45
|
/** The slice of its category band each label sits in (a grouped bar's series); it is drawn off the band's middle, whatever the band's width. */
|
|
38
46
|
bandSlice?: BandSlice;
|
|
47
|
+
/** Where, in the plot's frame, a label sits on an axis it sets no position for: `{ type: 'text', x: 5, frameAnchor: 'top' }` is at the frame's top edge. */
|
|
48
|
+
frameAnchor?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle';
|
|
39
49
|
/** Grows the plot's margins, on every side the author left open, so the labels fit. */
|
|
40
50
|
fitMargins?: boolean;
|
|
41
51
|
/** Reports how far the rendered labels reach past the plot's content box, in pixels, on each side. */
|
|
@@ -44,7 +54,7 @@ export type TextMarkerConfig = {
|
|
|
44
54
|
onPointerEnter?: (d: any) => void;
|
|
45
55
|
/** Fired when the pointer leaves a row's label. */
|
|
46
56
|
onPointerLeave?: (d: any) => void;
|
|
47
|
-
} & CommonMarkerConfig
|
|
57
|
+
} & CommonMarkerConfig>;
|
|
48
58
|
/** Where one decluttered label goes - see `Declutter.buildLanes`. */
|
|
49
59
|
export type LabelLane = {
|
|
50
60
|
/** Vertical shift (px) clearing its neighbours and the content box's edges. */
|
|
@@ -3,7 +3,7 @@ import type { AxisValue } from '../../layout/mapping';
|
|
|
3
3
|
import type { StatisticConfig } from '../../layout/statistics';
|
|
4
4
|
import type { MarkerTransform } from '../../transforms';
|
|
5
5
|
import type { MarkLegend } from '../../layout/legend';
|
|
6
|
-
/** Props every marker kind shares: rows, grouping, series scope, position, statistics, transforms. */
|
|
6
|
+
/** Props every marker kind shares: rows, grouping, series scope, position, offset, statistics, transforms. */
|
|
7
7
|
export type CommonMarkerConfig = {
|
|
8
8
|
data?: Record<string, unknown>[];
|
|
9
9
|
grouping?: string | ((d: any) => unknown);
|
|
@@ -19,8 +19,12 @@ export type CommonMarkerConfig = {
|
|
|
19
19
|
scales?: ChannelScalesConfig;
|
|
20
20
|
statistics?: StatisticConfig[];
|
|
21
21
|
transforms?: MarkerTransform[];
|
|
22
|
+
/** Moves the marker this many pixels right, after it is placed. Also applies on a map, where svelteplot itself ignores it. */
|
|
23
|
+
dx?: number;
|
|
24
|
+
/** Moves the marker this many pixels down, after it is placed. */
|
|
25
|
+
dy?: number;
|
|
22
26
|
/** Clips the marker to the plot's frame. Unset, its kind's default applies. */
|
|
23
27
|
clip?: boolean;
|
|
24
|
-
/** Names the marker on its plot's automatic legend - see {@link MarkLegend}. */
|
|
25
|
-
legend?: MarkLegend;
|
|
28
|
+
/** Names the marker on its plot's automatic legend - see {@link MarkLegend}. `false` keeps a decorative marker out of it, and out of how the plot's series look there. */
|
|
29
|
+
legend?: MarkLegend | false;
|
|
26
30
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** A pixel offset: one for the whole marker, or one per row. */
|
|
2
|
+
export type RowOffset = number | ((d: any) => number);
|
|
3
|
+
/**
|
|
4
|
+
* `TConfig` with `dx` and `dy` that may also be a function of the row, for a
|
|
5
|
+
* marker that draws one element per row (a dot, a label, an image). Every other
|
|
6
|
+
* marker takes the plain numbers of `CommonMarkerConfig`.
|
|
7
|
+
*/
|
|
8
|
+
export type CommonMarkerConfigWithRowOffset<TConfig> = Omit<TConfig, 'dx' | 'dy'> & {
|
|
9
|
+
/** Moves each row this many pixels right: a number, or a function of the row. */
|
|
10
|
+
dx?: RowOffset;
|
|
11
|
+
/** Moves each row this many pixels down: a number, or a function of the row. */
|
|
12
|
+
dy?: RowOffset;
|
|
13
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export type { MarkerCurveName } from './axis/curveName';
|
|
2
1
|
export * from './axis/line';
|
|
3
2
|
export * from './axis/bar';
|
|
4
3
|
export * from './axis/cell';
|
|
@@ -21,6 +20,7 @@ export * from './axis/raster';
|
|
|
21
20
|
export * from './axis/tick';
|
|
22
21
|
export * from './axis/trail';
|
|
23
22
|
export * from './axis/waffle';
|
|
23
|
+
export * from './axis/violin';
|
|
24
24
|
export * from './axis/rule';
|
|
25
25
|
export * from './axis/hover';
|
|
26
26
|
export * from './axis/component';
|
|
@@ -20,6 +20,7 @@ export * from './axis/raster';
|
|
|
20
20
|
export * from './axis/tick';
|
|
21
21
|
export * from './axis/trail';
|
|
22
22
|
export * from './axis/waffle';
|
|
23
|
+
export * from './axis/violin';
|
|
23
24
|
export * from './axis/rule';
|
|
24
25
|
export * from './axis/hover';
|
|
25
26
|
export * from './axis/component';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Accessor } from '../../plots/data/common';
|
|
2
2
|
import type { StrokeStyle } from '../../plots/styling';
|
|
3
|
-
/** Lines between point pairs
|
|
3
|
+
/** Lines between point pairs: `curve: 'auto'` traces great-circle arcs, `'linear'` joins their projected positions with a straight line. */
|
|
4
4
|
export type GeoLinkMarkerConfig<TRow extends Record<string, unknown> = Record<string, unknown>> = {
|
|
5
5
|
type: 'link';
|
|
6
6
|
data: TRow[];
|
|
@@ -9,5 +9,9 @@ export type GeoLinkMarkerConfig<TRow extends Record<string, unknown> = Record<st
|
|
|
9
9
|
x2: Accessor<TRow, number>;
|
|
10
10
|
y2: Accessor<TRow, number>;
|
|
11
11
|
curve?: 'auto' | 'linear';
|
|
12
|
+
/** Lifts each arc off the map: a fraction of the radius on a globe, of the route's length on a flat map. A lifted arc keeps near its parallels instead of following the great circle. */
|
|
13
|
+
altitude?: number;
|
|
14
|
+
/** On a globe with `altitude`: `'ground'` cuts an arc where its ground track passes the horizon, `'globe'` only where the globe covers it. */
|
|
15
|
+
occlusion?: 'ground' | 'globe';
|
|
12
16
|
styles?: StrokeStyle;
|
|
13
17
|
};
|
|
@@ -17,6 +17,12 @@ export type HoverStageOptions<TState, TCtx = unknown> = {
|
|
|
17
17
|
* that isn't measured, or `'punctual'` with both axes holding categories.
|
|
18
18
|
*/
|
|
19
19
|
strategy?: HoverStrategy;
|
|
20
|
+
/** The rows the pointer hovers over, when they aren't the ones drawn (a box plot's one summary per box). Defaults to the processed rows. */
|
|
21
|
+
rows?: (state: TState) => Record<string | symbol, unknown>[];
|
|
22
|
+
/** How a hovered row reads in the tooltip unless the author sets `format`. Defaults to the shared tooltip text. */
|
|
23
|
+
format?: (state: TState) => (row: never) => string;
|
|
24
|
+
/** The order a tooltip's rows read in. Defaults to the shared order: highest value first. */
|
|
25
|
+
sort?: (state: TState) => (a: never, b: never) => number;
|
|
20
26
|
/** Where a row sits. Defaults to its processed position: a stacked row's top, a bin's centre. */
|
|
21
27
|
position?: (state: TState) => HoverPosition;
|
|
22
28
|
/** The short label drawn next to a hovered row. Defaults to its value. */
|
|
@@ -7,7 +7,7 @@ export type { MappingStageOptions } from './mapping/phase';
|
|
|
7
7
|
export type { ProcessedRow, ProcessedChannel, ProcessedChannelName, ProcessedData, TransformsStageState, TransformsStageOptions } from './transforms/phase';
|
|
8
8
|
export type { StatisticsStageState, StatisticsStageOptions } from './statistics/phase';
|
|
9
9
|
export type { SharedAxisValues } from './sharedScales/phase';
|
|
10
|
-
export type { ScalesStageOptions } from './scales/phase';
|
|
10
|
+
export type { AxisFit, ScalesStageOptions } from './scales/phase';
|
|
11
11
|
export type { StylesStageOptions, ValueLabelsOptions } from './styles/phase';
|
|
12
12
|
export type { MarkersStageOptions } from './markers/phase';
|
|
13
13
|
export type { FacetPanel, FacetStageState } from './facet/phase';
|
|
@@ -3,6 +3,10 @@ import type { AxisRef } from '../data/axes';
|
|
|
3
3
|
import type { AxisScale } from '../../layout/scales';
|
|
4
4
|
/** One axis' scale options, whatever the row type. */
|
|
5
5
|
type AnyAxisScale = AxisScale<any>;
|
|
6
|
+
/** What a kind fits to an axis: scale options, and whether its `domain` is one it computed (so the author did not pin it). */
|
|
7
|
+
export type AxisFit = Partial<AnyAxisScale> & {
|
|
8
|
+
fitted?: true;
|
|
9
|
+
};
|
|
6
10
|
/**
|
|
7
11
|
* What differs between plots in the shared "scales" stage. The stage lays out
|
|
8
12
|
* every category axis the kind asks for as a band and grows an unpinned
|
|
@@ -19,7 +23,7 @@ export type ScalesStageOptions<TState, TCtx> = {
|
|
|
19
23
|
/** The kind's own options for an axis, by name or by role, under the author's `scales`: padding, label anchor, tick format. */
|
|
20
24
|
defaults?: (state: TState, ctx: TCtx) => Partial<Record<AxisRef, AnyAxisScale>>;
|
|
21
25
|
/** The options the kind fits to its own marks on an axis the author left unpinned - a niced value axis, a domain padded for its dots. */
|
|
22
|
-
fit?: (state: TState, ctx: TCtx) => Partial<Record<AxisChannelName,
|
|
26
|
+
fit?: (state: TState, ctx: TCtx) => Partial<Record<AxisChannelName, AxisFit>>;
|
|
23
27
|
/** The kind's own extra "scales" output, once every scale is in place. */
|
|
24
28
|
extend?: (state: TState, ctx: TCtx) => TState;
|
|
25
29
|
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import type { Series } from '../plots/data/common';
|
|
1
|
+
import type { Accessor, Series } from '../plots/data/common';
|
|
2
2
|
import type { AxisBasedScalesConfig } from '../layout/scales';
|
|
3
3
|
import type { SegmentsConfig, MarginConfig, HoverConfig, TooltipConfig } from '../plots/props';
|
|
4
4
|
import type { HoverPosition } from './hover/phase';
|
|
5
5
|
import type { VisualGroup } from '../plots/segments/config';
|
|
6
6
|
import type { ScopedMarkerGroup } from '../layout/geometry';
|
|
7
|
-
import type { ChannelAccessors, ResolvedChannels } from '../layout/mapping';
|
|
7
|
+
import type { AxisChannelName, ChannelAccessors, ResolvedChannels } from '../layout/mapping';
|
|
8
8
|
import type { PlotStylesConfig } from '../configuration/styling';
|
|
9
9
|
import type { AxisBasedMarkersConfig } from '../markers/common';
|
|
10
10
|
import type { StatisticConfig } from '../layout/statistics';
|
|
11
11
|
import type { MarkerTransform } from '../transforms';
|
|
12
|
-
import type { ProcessedData } from './transforms/phase';
|
|
12
|
+
import type { ProcessedData, ProcessedRow } from './transforms/phase';
|
|
13
13
|
import type { FacetStageState } from './facet/phase';
|
|
14
|
-
import type { AxisBasedStylesConfig, ValuesStyle } from '../layout/styles';
|
|
14
|
+
import type { AxisBasedStylesConfig, ValuesStyle, ValueSelect } from '../layout/styles';
|
|
15
15
|
import type { ValueLabels } from '../../layout/styles/ValueLabels';
|
|
16
16
|
import type { PlotInteraction } from '../../layout/interaction/PlotInteraction.svelte';
|
|
17
17
|
import type { PlotAxes } from '../../phases/data/PlotAxes';
|
|
@@ -27,12 +27,21 @@ export type AxisPlotState<TData extends Record<string, unknown>, TStyle extends
|
|
|
27
27
|
data?: TData[];
|
|
28
28
|
segments?: SegmentsConfig<TStyle>;
|
|
29
29
|
scales: AxisBasedScalesConfig<TData>;
|
|
30
|
+
/** The axes whose domain the "scales" phase left to the kind's own fit, not the author's `domain`. */
|
|
31
|
+
fittedAxes?: AxisChannelName[];
|
|
30
32
|
statistics?: StatisticConfig[];
|
|
31
33
|
transforms?: MarkerTransform[];
|
|
32
34
|
authorMarkers?: AxisBasedMarkersConfig[];
|
|
33
35
|
width: number;
|
|
34
36
|
height: number;
|
|
35
37
|
margins?: MarginConfig;
|
|
38
|
+
/** The interval a point stands for, on the plots that draw one (`ForestPlot`): its lower and upper end, or the half-width around it, each a field key or a function of the row. */
|
|
39
|
+
lower?: Accessor<TData, unknown>;
|
|
40
|
+
upper?: Accessor<TData, unknown>;
|
|
41
|
+
error?: Accessor<TData, unknown>;
|
|
42
|
+
/** What a bar is measured against, on the plots that draw it (`BulletPlot`): a target, and the upper bounds of the bands grading it. Each is a number, a field key or a function of the row. */
|
|
43
|
+
target?: unknown;
|
|
44
|
+
ranges?: unknown[];
|
|
36
45
|
/** The plot's `styles`, which `BasePlotLayout` draws its frame from. */
|
|
37
46
|
styles?: AxisBasedStylesConfig;
|
|
38
47
|
/** The plot's `styles.values`, which its "markers" phase turns into a value-label `text` marker. */
|
|
@@ -48,6 +57,7 @@ export type AxisPlotState<TData extends Record<string, unknown>, TStyle extends
|
|
|
48
57
|
/** What each position channel is, which one holds the categories, and which way the plot runs. */
|
|
49
58
|
axes?: PlotAxes;
|
|
50
59
|
resolvedSeries?: TSeries[];
|
|
60
|
+
seriesGrouping?: Accessor<any, unknown>;
|
|
51
61
|
/** Every series name, before legend-omitted ones are dropped, so colors stay put. */
|
|
52
62
|
allSeriesNames?: string[];
|
|
53
63
|
groupedSeries?: VisualGroup<TSeries, TStyle>[];
|
|
@@ -58,9 +68,15 @@ export type AxisPlotState<TData extends Record<string, unknown>, TStyle extends
|
|
|
58
68
|
gapFillMaps?: Map<string, Map<TData, DiscreteGapFill<TStyle>>>;
|
|
59
69
|
channels?: ResolvedChannels<TData>;
|
|
60
70
|
processedData?: ProcessedData;
|
|
71
|
+
processedGroups?: VisualGroup<Series<ProcessedRow>, TStyle>[];
|
|
72
|
+
/** The processed rows `styles.values` writes labels for, when the labels are on and the plot picks them. */
|
|
73
|
+
labelled?: ProcessedRow[];
|
|
74
|
+
/** What `styles.values.select` came to - the author's, else the plot's default. */
|
|
75
|
+
labelSelects?: ValueSelect[];
|
|
61
76
|
valueLabels?: ValueLabels;
|
|
62
77
|
markers?: AxisBasedMarkersConfig[];
|
|
63
78
|
tooltipFormat?: (row: Record<string, unknown>) => string;
|
|
79
|
+
tooltipSort?: (a: Record<string, unknown>, b: Record<string, unknown>) => number;
|
|
64
80
|
hover?: HoverConfig<any>;
|
|
65
81
|
hoverPosition?: HoverPosition;
|
|
66
82
|
hoverRows?: unknown[];
|
|
@@ -3,7 +3,7 @@ import type { Accessor, Series } from '../../plots/data/common';
|
|
|
3
3
|
import type { AxisValue } from '../../layout/mapping';
|
|
4
4
|
import type { StatisticConfig } from '../../layout/statistics';
|
|
5
5
|
import type { AxisBasedMarkersConfig } from '../../markers/common';
|
|
6
|
-
import type { ProcessedData } from '../transforms/phase';
|
|
6
|
+
import type { ProcessedData, TransformsStageState } from '../transforms/phase';
|
|
7
7
|
import type { FacetStageState } from '../facet/phase';
|
|
8
8
|
import type { PlotAxes } from '../../../phases/data/PlotAxes';
|
|
9
9
|
/**
|
|
@@ -25,6 +25,8 @@ export type StatisticsStageState = Pick<FacetStageState, 'panels'> & {
|
|
|
25
25
|
scopedGroups?: ScopedMarkerGroup<any>[];
|
|
26
26
|
/** The plot's rows after its own transforms, which an author marker without rows of its own draws. */
|
|
27
27
|
processedData?: ProcessedData;
|
|
28
|
+
/** Those rows split back into the plot's visual groups, which a series without a value of its own (a histogram's) is measured by. */
|
|
29
|
+
processedGroups?: TransformsStageState['processedGroups'];
|
|
28
30
|
markers?: AxisBasedMarkersConfig[];
|
|
29
31
|
};
|
|
30
32
|
/** What differs between plots in the shared "statistics" stage. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AxisValue } from '../../layout/mapping';
|
|
1
|
+
import type { AxisChannelName, AxisValue } from '../../layout/mapping';
|
|
2
2
|
/**
|
|
3
3
|
* Resolved `{data, x, y}` input a statistic computes over - a marker's own
|
|
4
4
|
* data, or one plot series/the pooled combination of every series. `x`/`y`
|
|
@@ -8,6 +8,8 @@ export type StatisticSource<T extends Record<string, unknown> = Record<string, u
|
|
|
8
8
|
data: T[];
|
|
9
9
|
x: string | ((d: any) => AxisValue);
|
|
10
10
|
y: string | ((d: any) => AxisValue);
|
|
11
|
+
/** The axis the plot measures along, which a statistic of the values (`deviation`) reads. Defaults to `y`. */
|
|
12
|
+
axis?: AxisChannelName;
|
|
11
13
|
/** Fallback stroke for the derived marker, used when its own `styles.stroke` is unset - typically the source series' own color. */
|
|
12
14
|
color?: string;
|
|
13
15
|
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { Series } from '../../plots/data/common';
|
|
2
2
|
import type { MarkerTransform } from '../../transforms';
|
|
3
3
|
import type { PlotAxes } from '../../../phases/data/PlotAxes';
|
|
4
|
+
import type { VisualGroup } from '../../plots/segments/config';
|
|
5
|
+
import type { ValuesStyle, ValueSelect } from '../../layout/styles';
|
|
4
6
|
/** A row the plot-level transforms produced: the source row's fields, plus whatever channels they add (often symbol-keyed). */
|
|
5
7
|
export type ProcessedRow = Record<string | symbol, unknown>;
|
|
6
8
|
/** A channel as svelteplot reads it off a processed row: a field key, a symbol key, or a function. */
|
|
@@ -32,9 +34,39 @@ export type TransformsStageState = {
|
|
|
32
34
|
}>>;
|
|
33
35
|
transforms?: MarkerTransform[];
|
|
34
36
|
processedData?: ProcessedData;
|
|
37
|
+
/** The plot's `styles.values`, which picks the rows its labels are written for. */
|
|
38
|
+
values?: ValuesStyle;
|
|
39
|
+
/** The processed rows `styles.values` labels, once the labels are on and the plot picks them (see {@link TransformsStageOptions.labels}). */
|
|
40
|
+
labelled?: ProcessedRow[];
|
|
41
|
+
/** What `styles.values.select` came to - the author's, else the plot's default - which says where the labelled rows can sit. */
|
|
42
|
+
labelSelects?: ValueSelect[];
|
|
43
|
+
/** The processed rows split back into the visual groups the plot's own marks draw. */
|
|
44
|
+
processedGroups?: VisualGroup<Series<ProcessedRow>, any>[];
|
|
35
45
|
};
|
|
36
46
|
/** What differs between plots in the shared "transforms" stage. */
|
|
37
47
|
export type TransformsStageOptions<TState extends TransformsStageState, TCtx> = {
|
|
38
48
|
/** The transforms to run. Defaults to the plot's own `transforms`. */
|
|
39
49
|
transforms?: (state: TState, ctx: TCtx) => MarkerTransform[];
|
|
50
|
+
/**
|
|
51
|
+
* How the processed rows split into `processedGroups`: one group per series
|
|
52
|
+
* (the default), or `'runs'` of consecutive rows from the same series, in
|
|
53
|
+
* the rows' own order, so a reordering transform (`sort`, `reverse`,
|
|
54
|
+
* `shuffle`) decides which rows paint on top.
|
|
55
|
+
*/
|
|
56
|
+
groups?: 'series' | 'runs';
|
|
57
|
+
/**
|
|
58
|
+
* The plot picks the rows its value labels are written for, when the labels
|
|
59
|
+
* are on: `styles.values.select` and `series` run as transforms over the
|
|
60
|
+
* processed rows, into `labelled`.
|
|
61
|
+
*/
|
|
62
|
+
labels?: {
|
|
63
|
+
/** Picks the rows even when `styles.values.show` is unset: for a plot that shows its values by default. */
|
|
64
|
+
show?: boolean;
|
|
65
|
+
/** The rows picked when `styles.values.select` is unset. Defaults to every row. */
|
|
66
|
+
select?: ValueSelect | ValueSelect[];
|
|
67
|
+
/** What a selector picks among: each series (the default), or each category. */
|
|
68
|
+
group?: 'series' | 'category';
|
|
69
|
+
/** A test for the rows that cannot be labelled (a gap), read off the state once. */
|
|
70
|
+
skip?: (state: TransformsStageState) => (row: ProcessedRow) => boolean;
|
|
71
|
+
};
|
|
40
72
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { BasePlotProps, PlotCoreProps } from '
|
|
2
|
-
import type { AxisBasedScalesConfig } from '
|
|
3
|
-
import type { AxisBasedMarkersConfig } from '
|
|
4
|
-
import type { SeriesProps, DataProps } from '
|
|
5
|
-
import type { AxisBasedStylesConfig } from '
|
|
6
|
-
import type { CellSegmentStyle } from '
|
|
1
|
+
import type { BasePlotProps, PlotCoreProps } from '../../props';
|
|
2
|
+
import type { AxisBasedScalesConfig } from '../../../layout/scales';
|
|
3
|
+
import type { AxisBasedMarkersConfig } from '../../../markers/common';
|
|
4
|
+
import type { SeriesProps, DataProps } from '../../data/common';
|
|
5
|
+
import type { AxisBasedStylesConfig } from '../../../layout/styles';
|
|
6
|
+
import type { CellSegmentStyle } from '../../segments/common';
|
|
7
7
|
/** `HeatmapPlot`'s public props. */
|
|
8
8
|
export type HeatmapPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, CellSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
|
|
9
9
|
/** What `HeatmapPlot`'s core draws from. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { CellSegmentStyle } from '
|
|
2
|
-
import type { ResolvedChannel, ResolvedChannels } from '
|
|
3
|
-
import type { LegendRange } from '
|
|
4
|
-
import type { AxisPlotState, AxisPlotCtx } from '
|
|
1
|
+
import type { CellSegmentStyle } from '../../segments/common';
|
|
2
|
+
import type { ResolvedChannel, ResolvedChannels } from '../../../layout/mapping';
|
|
3
|
+
import type { LegendRange } from '../../../layout/legend';
|
|
4
|
+
import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
|
|
5
5
|
/**
|
|
6
6
|
* The active continuous-legend range filter, if any - narrows which cells
|
|
7
7
|
* render at full opacity, and in `'rescale'` mode, the color domain itself.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { BasePlotProps, PlotCoreProps } from '
|
|
2
|
-
import type { AxisBasedScalesConfig } from '
|
|
3
|
-
import type { AxisBasedMarkersConfig } from '
|
|
4
|
-
import type { SeriesProps, DataProps } from '
|
|
5
|
-
import type { AxisBasedStylesConfig } from '
|
|
6
|
-
import type { ScatterSegmentStyle } from '
|
|
1
|
+
import type { BasePlotProps, PlotCoreProps } from '../../props';
|
|
2
|
+
import type { AxisBasedScalesConfig } from '../../../layout/scales';
|
|
3
|
+
import type { AxisBasedMarkersConfig } from '../../../markers/common';
|
|
4
|
+
import type { SeriesProps, DataProps } from '../../data/common';
|
|
5
|
+
import type { AxisBasedStylesConfig } from '../../../layout/styles';
|
|
6
|
+
import type { ScatterSegmentStyle } from '../../segments/common';
|
|
7
7
|
/** `ScatterPlot`'s public props. */
|
|
8
8
|
export type ScatterPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, ScatterSegmentStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
|
|
9
9
|
/** What `ScatterPlot`'s core draws from. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ScatterSegmentStyle } from '
|
|
2
|
-
import type { AxisPlotState, AxisPlotCtx } from '
|
|
1
|
+
import type { ScatterSegmentStyle } from '../../segments/common';
|
|
2
|
+
import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
|
|
3
3
|
/** ScatterPlot's pipeline state: the shared axis-based state, with no extras of its own. */
|
|
4
4
|
export type ScatterPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, ScatterSegmentStyle>;
|
|
5
5
|
/** The environment every ScatterPlot phase reads from, alongside the growing state. */
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { BasePlotProps, PlotCoreProps } from '../../props';
|
|
2
|
+
import type { AxisBasedScalesConfig } from '../../../layout/scales';
|
|
3
|
+
import type { AxisBasedMarkersConfig } from '../../../markers/common';
|
|
4
|
+
import type { SeriesProps, DataProps } from '../../data/common';
|
|
5
|
+
import type { AxisBasedStylesConfig } from '../../../layout/styles';
|
|
6
|
+
import type { AreaStyle } from '../../styling';
|
|
7
|
+
/** `BoxPlot`'s public props. */
|
|
8
|
+
export type BoxPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
|
|
9
|
+
/** What `BoxPlot`'s core draws from. */
|
|
10
|
+
export type BoxPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DataProps<TData>, TData, AxisBasedStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AreaStyle } from '../../styling';
|
|
2
|
+
import type { AxisPlotState, AxisPlotCtx, ProcessedRow } from '../../../phases';
|
|
3
|
+
import type { AxisValue } from '../../../layout/mapping';
|
|
4
|
+
/** BoxPlot's pipeline state: the shared axis-based state, with no extras of its own. */
|
|
5
|
+
export type BoxPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, AreaStyle>;
|
|
6
|
+
/** The environment every BoxPlot phase reads from, alongside the growing state. */
|
|
7
|
+
export type BoxPlotCtx = AxisPlotCtx;
|
|
8
|
+
/**
|
|
9
|
+
* One box's summary - what a hovered box reads as: its category, its
|
|
10
|
+
* quartiles, the whisker ends (the farthest values within 1.5 IQR of the
|
|
11
|
+
* box) and the values past them. It also keeps the series tags and, when the
|
|
12
|
+
* category channel is a field key, the category under that field.
|
|
13
|
+
*/
|
|
14
|
+
export type BoxSummaryRow = ProcessedRow & {
|
|
15
|
+
category: AxisValue;
|
|
16
|
+
min: number;
|
|
17
|
+
p25: number;
|
|
18
|
+
median: number;
|
|
19
|
+
p75: number;
|
|
20
|
+
max: number;
|
|
21
|
+
count: number;
|
|
22
|
+
outliers: number[];
|
|
23
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { BasePlotProps, PlotCoreProps } from '../../props';
|
|
2
|
+
import type { AxisBasedScalesConfig } from '../../../layout/scales';
|
|
3
|
+
import type { AxisBasedMarkersConfig } from '../../../markers/common';
|
|
4
|
+
import type { SeriesProps, DataProps } from '../../data/common';
|
|
5
|
+
import type { CurveAwarePlotStylesConfig } from '../../../layout/styles';
|
|
6
|
+
import type { AreaStyle } from '../../styling';
|
|
7
|
+
import type { AxisChannelName, ChannelAccessors } from '../../../layout/mapping';
|
|
8
|
+
/** Flat rows estimated along one axis: `x` for a vertical curve, or `y` alone for a horizontal one. */
|
|
9
|
+
type DensityDataProps<TRow extends Record<string, unknown>> = Omit<DataProps<TRow>, AxisChannelName> & ((Required<Pick<ChannelAccessors<TRow>, 'x'>> & {
|
|
10
|
+
y?: never;
|
|
11
|
+
}) | (Required<Pick<ChannelAccessors<TRow>, 'y'>> & {
|
|
12
|
+
x?: never;
|
|
13
|
+
}));
|
|
14
|
+
/** `styles` of `DensityPlot`: the curve of the estimate, and the mark that draws it. */
|
|
15
|
+
export type DensityPlotStylesConfig = CurveAwarePlotStylesConfig & {
|
|
16
|
+
/** The mark drawing each estimate: a filled `'area'` or a `'line'`. Defaults to `'area'`. */
|
|
17
|
+
mark?: 'area' | 'line';
|
|
18
|
+
};
|
|
19
|
+
/** `DensityPlot`'s public props. */
|
|
20
|
+
export type DensityPlotProps<TData extends Record<string, unknown>> = BasePlotProps<SeriesProps<TData> | DensityDataProps<TData>, TData, DensityPlotStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
|
|
21
|
+
/** What `DensityPlot`'s core draws from. */
|
|
22
|
+
export type DensityPlotCoreProps<TData extends Record<string, unknown>> = PlotCoreProps<SeriesProps<TData> | DensityDataProps<TData>, TData, DensityPlotStylesConfig, AreaStyle, AxisBasedMarkersConfig, AxisBasedScalesConfig<TData>>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AreaStyle } from '../../styling';
|
|
2
|
+
import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
|
|
3
|
+
/** DensityPlot's pipeline state: the shared axis-based state, with no extras of its own. */
|
|
4
|
+
export type DensityPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, AreaStyle>;
|
|
5
|
+
/** The environment every DensityPlot phase reads from, alongside the growing state. */
|
|
6
|
+
export type DensityPlotCtx = AxisPlotCtx;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { BasePlotProps, PlotCoreProps } from '
|
|
2
|
-
import type { AxisBasedScalesConfig } from '
|
|
3
|
-
import type { AxisBasedMarkersConfig } from '
|
|
4
|
-
import type { SeriesProps, DataProps } from '
|
|
5
|
-
import type { AxisBasedStylesConfig } from '
|
|
6
|
-
import type { AreaStyle } from '
|
|
7
|
-
import type { AxisChannelName, ChannelAccessors } from '
|
|
1
|
+
import type { BasePlotProps, PlotCoreProps } from '../../props';
|
|
2
|
+
import type { AxisBasedScalesConfig } from '../../../layout/scales';
|
|
3
|
+
import type { AxisBasedMarkersConfig } from '../../../markers/common';
|
|
4
|
+
import type { SeriesProps, DataProps } from '../../data/common';
|
|
5
|
+
import type { AxisBasedStylesConfig } from '../../../layout/styles';
|
|
6
|
+
import type { AreaStyle } from '../../styling';
|
|
7
|
+
import type { AxisChannelName, ChannelAccessors } from '../../../layout/mapping';
|
|
8
8
|
/** Flat rows binned on one axis: `x` for vertical bars, or `y` alone for horizontal ones. A bin's count is its length. */
|
|
9
9
|
type HistogramDataProps<TRow extends Record<string, unknown>> = Omit<DataProps<TRow>, AxisChannelName> & ((Required<Pick<ChannelAccessors<TRow>, 'x'>> & {
|
|
10
10
|
y?: never;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { AreaStyle } from '
|
|
2
|
-
import type { AxisPlotState, AxisPlotCtx } from '
|
|
1
|
+
import type { AreaStyle } from '../../styling';
|
|
2
|
+
import type { AxisPlotState, AxisPlotCtx } from '../../../phases';
|
|
3
3
|
/** HistogramPlot's pipeline state: the shared axis-based state, with no extras of its own. */
|
|
4
4
|
export type HistogramPlotState<TData extends Record<string, unknown>> = AxisPlotState<TData, AreaStyle>;
|
|
5
5
|
/** The environment every HistogramPlot phase reads from, alongside the growing state. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|