@fundar/data-chart-telling 1.1.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 +32 -0
- package/README.md +6 -6
- package/dist/configuration/config.svelte.d.ts +1 -1
- package/dist/configuration/config.svelte.js +165 -100
- package/dist/configuration/themes/index.d.ts +5 -1428
- package/dist/index.d.ts +23 -14
- package/dist/index.js +20 -11
- package/dist/layout/base/BasePlotLayout.svelte +115 -50
- 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/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 +4 -0
- package/dist/layout/legend/LegendState.svelte.js +20 -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/Slice.d.ts +5 -1
- package/dist/layout/plot/Slice.js +14 -4
- package/dist/layout/scales/NiceTicks.d.ts +3 -0
- package/dist/layout/scales/NiceTicks.js +4 -0
- package/dist/layout/scales/ScalesLayout.svelte +72 -7
- package/dist/layout/scales/ScalesLayout.svelte.d.ts +5 -0
- package/dist/layout/scales/SveltePlotScale.d.ts +2 -2
- package/dist/layout/scales/SveltePlotScale.js +13 -6
- 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 +80 -21
- package/dist/layout/timeline/TimelineLayout.svelte +1 -1
- package/dist/layout/tooltip/Tooltip.svelte +4 -4
- package/dist/layout/tooltip/Tooltip.svelte.d.ts +4 -4
- package/dist/layout/tooltip/TooltipState.svelte.js +1 -1
- 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/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 +5 -0
- package/dist/phases/data/DataPhase.js +3 -3
- package/dist/phases/data/PlotAxes.d.ts +10 -0
- package/dist/phases/data/PlotAxes.js +14 -1
- package/dist/phases/facet/FacetPanels.d.ts +1 -0
- package/dist/phases/facet/FacetPanels.js +1 -0
- package/dist/phases/mapping/MappingPhase.js +1 -1
- 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.js +21 -7
- package/dist/phases/sharedScales/SharedScalesPhase.d.ts +3 -2
- package/dist/phases/sharedScales/SharedScalesPhase.js +5 -2
- package/dist/phases/statistics/Statistics.d.ts +10 -6
- package/dist/phases/statistics/Statistics.js +20 -10
- package/dist/phases/statistics/StatisticsPhase.js +7 -2
- 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/transforms/ProcessedPositions.js +1 -1
- package/dist/phases/transforms/TransformsPhase.js +49 -3
- 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 +3 -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 +4 -4
- package/dist/plots/{scatter → correlation/scatter}/markers.d.ts +4 -4
- package/dist/plots/{scatter → correlation/scatter}/markers.js +3 -3
- package/dist/plots/{box → distribution/box}/BoxSummaries.d.ts +2 -2
- package/dist/plots/{box → distribution/box}/BoxSummaries.js +6 -6
- package/dist/plots/{box → distribution/box}/Plot.svelte +2 -2
- package/dist/plots/{box → distribution/box}/Plot.svelte.d.ts +2 -2
- package/dist/plots/{box → distribution/box}/defaults.d.ts +2 -2
- package/dist/plots/{box → distribution/box}/defaults.js +1 -1
- package/dist/plots/{box → distribution/box}/markers.d.ts +2 -2
- 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 +3 -3
- package/dist/plots/{histogram → distribution/histogram}/markers.d.ts +3 -3
- package/dist/plots/{histogram → distribution/histogram}/markers.js +5 -5
- 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 +6 -6
- package/dist/plots/{pyramid → distribution/pyramid}/markers.d.ts +4 -4
- package/dist/plots/{pyramid → distribution/pyramid}/markers.js +6 -6
- 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 +1 -1
- 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 +6 -4
- 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 +2 -2
- package/dist/plots/{geo → map/geo}/phases/markers.d.ts +1 -1
- package/dist/plots/{geo → map/geo}/phases/markers.js +6 -10
- 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 +2 -2
- 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 +15 -9
- package/dist/plots/{bar → ranking/bar}/markers.d.ts +8 -8
- package/dist/plots/{bar → ranking/bar}/markers.js +8 -17
- 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 +276 -143
- 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 +39 -7
- 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 +5 -2
- 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/index.d.ts +1 -1
- package/dist/types/phases/scales/phase.d.ts +5 -1
- package/dist/types/phases/state.d.ts +15 -2
- package/dist/types/phases/statistics/source.d.ts +3 -1
- package/dist/types/phases/transforms/phase.d.ts +22 -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/{box → distribution/box}/props.d.ts +6 -6
- package/dist/types/plots/{box → distribution/box}/state.d.ts +3 -3
- 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/{histogram → distribution/histogram}/props.d.ts +7 -7
- 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 +1 -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 +2 -2
- package/docs/composer.md +2 -2
- package/docs/concepts.md +1 -1
- package/docs/development.md +1 -1
- package/docs/facets.md +3 -3
- package/docs/getting-started.md +2 -2
- package/docs/legend.md +13 -11
- package/docs/markers.md +29 -27
- 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 -280
- package/docs/scales.md +30 -24
- package/docs/styles-and-segments.md +24 -21
- package/docs/theming.md +23 -20
- package/docs/timeline.md +3 -3
- package/docs/tooltip-and-hover.md +10 -10
- package/docs/transforms-and-statistics.md +13 -12
- package/examples/BarValues.svelte +1 -1
- package/examples/Box.svelte +1 -1
- package/examples/Bullet.svelte +17 -0
- package/examples/Chrome.svelte +1 -1
- package/examples/ChromeOrder.svelte +1 -1
- package/examples/Cleveland.svelte +15 -0
- package/examples/Composer.svelte +2 -2
- package/examples/CustomTooltip.svelte +1 -1
- package/examples/Density.svelte +7 -0
- package/examples/Dumbbell.svelte +16 -0
- package/examples/Facets.svelte +1 -1
- package/examples/FacetsCarousel.svelte +1 -1
- package/examples/FacetsRowsCols.svelte +1 -1
- package/examples/FirstPlot.svelte +1 -1
- package/examples/Forest.svelte +17 -0
- package/examples/Gaps.svelte +2 -2
- package/examples/GroupedBars.svelte +1 -1
- package/examples/Heatmap.svelte +3 -3
- package/examples/HeatmapSegments.svelte +8 -8
- package/examples/Histogram.svelte +1 -1
- package/examples/HorizontalBars.svelte +1 -1
- package/examples/LegendSections.svelte +1 -1
- package/examples/LegendToggle.svelte +1 -1
- package/examples/LineByRegion.svelte +1 -1
- package/examples/LineDates.svelte +1 -1
- package/examples/LineStep.svelte +16 -0
- package/examples/LineStepSegment.svelte +18 -0
- package/examples/Lollipop.svelte +17 -0
- package/examples/Markers.svelte +1 -1
- package/examples/MovingAverage.svelte +1 -1
- package/examples/Pyramid.svelte +9 -2
- package/examples/Regression.svelte +2 -2
- package/examples/ResponsiveLine.svelte +1 -1
- package/examples/Scales.svelte +1 -1
- package/examples/Scatter.svelte +2 -2
- package/examples/SegmentHighlight.svelte +1 -1
- package/examples/Segments.svelte +1 -1
- package/examples/SegmentsBySeries.svelte +1 -1
- package/examples/Slope.svelte +17 -0
- package/examples/Sparkline.svelte +14 -0
- package/examples/StackedArea.svelte +1 -1
- package/examples/StackedBars.svelte +1 -1
- package/examples/TimelinePlayer.svelte +1 -1
- package/examples/TimelineRule.svelte +1 -1
- package/examples/Tooltip.svelte +1 -1
- package/examples/ValueLabels.svelte +1 -1
- 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 +22 -11
- package/llms.txt +32 -4
- package/package.json +10 -1
- 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 -324
- /package/dist/plots/{box → distribution/box}/markers.js +0 -0
- /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/box/props.js → layout/styles/gaps.js} +0 -0
- /package/dist/types/{plots/box/state.js → layout/styles/geo.js} +0 -0
- /package/dist/types/{plots/geo/props.js → layout/styles/values.js} +0 -0
- /package/dist/types/{plots/geo/state.js → markers/axis/violin.js} +0 -0
- /package/dist/types/{plots/heatmap/props.js → markers/channels/commonMarkerConfigWithRowOffset.js} +0 -0
- /package/dist/types/plots/{histogram → correlation/heatmap}/props.js +0 -0
- /package/dist/types/plots/{heatmap → correlation/heatmap}/state.js +0 -0
- /package/dist/types/plots/{line → correlation/scatter}/props.js +0 -0
- /package/dist/types/plots/{histogram → correlation/scatter}/state.js +0 -0
- /package/dist/types/plots/{pyramid → distribution/box}/props.js +0 -0
- /package/dist/types/plots/{line → distribution/box}/state.js +0 -0
- /package/dist/types/plots/{scatter → distribution/density}/props.js +0 -0
- /package/dist/types/plots/{pyramid → distribution/density}/state.js +0 -0
- /package/dist/types/plots/{scatter/state.js → distribution/histogram/props.js} +0 -0
- /package/dist/{plots/utils → utils}/accessors.d.ts +0 -0
- /package/dist/{plots/utils → utils}/accessors.js +0 -0
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
```svelte
|
|
22
22
|
<script lang="ts">
|
|
23
23
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
24
|
-
import { PRICES } from './
|
|
24
|
+
import { PRICES } from './datasets';
|
|
25
25
|
</script>
|
|
26
26
|
|
|
27
27
|
<!-- End-of-line value labels with a custom format and font size. -->
|
|
@@ -46,14 +46,17 @@
|
|
|
46
46
|
|
|
47
47
|

|
|
48
48
|
|
|
49
|
-
| Field | Meaning
|
|
50
|
-
| -------------- |
|
|
51
|
-
| `show` | Draws the labels. Off by default, except on a heatmap
|
|
52
|
-
| `anchor` | `'outside'`, `'start'`, `'middle'`, `'end'` - where a label sits on its mark
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
56
|
-
| `
|
|
49
|
+
| Field | Meaning |
|
|
50
|
+
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
51
|
+
| `show` | Draws the labels. Off by default, except on a heatmap |
|
|
52
|
+
| `anchor` | `'outside'`, `'start'`, `'middle'`, `'end'` - where a label sits on its mark |
|
|
53
|
+
| `select` | Which row of each group is labelled: `'first'`, `'last'`, `'min'`, `'max'`, or a list of them. A group is a series on a line or area plot (default `'last'`), a category on the plots that join dots (default: every dot) |
|
|
54
|
+
| `series` | Labels only these series, by name |
|
|
55
|
+
| `color` | `'series'` writes each label in its series' color; any other CSS color writes them all in it (`fontStyle.fill` wins) |
|
|
56
|
+
| `format` | `(value, seriesName, row) => string`; `row` is the labelled row, for its other fields |
|
|
57
|
+
| `hoverIsolate` | Hovering a label dims every other series |
|
|
58
|
+
| `fontStyle` | Text style: `fontSize`, `fill`, `dx`, `dy`, `textAnchor`, `lineAnchor`, `rotate`, `class`, ... Overrides the anchor's placement field by field |
|
|
59
|
+
| `strokeStyle` | Style of the connector lines drawn from labels that had to move apart |
|
|
57
60
|
|
|
58
61
|
Where the labels go depends on the plot: the end of each series on a line or area plot, one per bar on a bar, pyramid or histogram, one per point on a scatter, one per cell on a heatmap. On lines, overlapping labels spread apart, share one column and are joined to their points by elbow connectors; the right margin grows to fit them when it is `'auto'`. The spread is tuned by `text.declutter` in the [configuration](theming.md).
|
|
59
62
|
|
|
@@ -70,14 +73,14 @@ A row whose value is `null`, `undefined` or `NaN` breaks a line. `styles.gaps` b
|
|
|
70
73
|
```svelte
|
|
71
74
|
<script lang="ts">
|
|
72
75
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
73
|
-
import {
|
|
76
|
+
import { FEMALE_LIFE_GAPS } from './datasets';
|
|
74
77
|
</script>
|
|
75
78
|
|
|
76
79
|
<!-- Missing values bridged: dashed in the middle, faded at the start, extended to the 2025 projection at the end. -->
|
|
77
80
|
<LinePlot
|
|
78
81
|
width={720}
|
|
79
82
|
height={400}
|
|
80
|
-
series={[{ name: 'female', x: 'year', y: 'value', data:
|
|
83
|
+
series={[{ name: 'female', x: 'year', y: 'value', data: FEMALE_LIFE_GAPS }]}
|
|
81
84
|
scales={{ x: { edgeTicks: true }, y: { domain: [55, 85] } }}
|
|
82
85
|
styles={{
|
|
83
86
|
gaps: {
|
|
@@ -137,7 +140,7 @@ A baseline color with a highlighted range:
|
|
|
137
140
|
```svelte
|
|
138
141
|
<script lang="ts">
|
|
139
142
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
140
|
-
import { REGION_VALUES } from './
|
|
143
|
+
import { REGION_VALUES } from './datasets';
|
|
141
144
|
|
|
142
145
|
const gba = REGION_VALUES.filter((row) => row.region === 'GBA');
|
|
143
146
|
</script>
|
|
@@ -170,7 +173,7 @@ Per-series colors, plus dots over a range shared by every series:
|
|
|
170
173
|
```svelte
|
|
171
174
|
<script lang="ts">
|
|
172
175
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
173
|
-
import { LIFE } from './
|
|
176
|
+
import { LIFE } from './datasets';
|
|
174
177
|
</script>
|
|
175
178
|
|
|
176
179
|
<!-- Segments per series name, plus `default` for rules shared by every series. -->
|
|
@@ -218,25 +221,25 @@ Heatmap columns and cells:
|
|
|
218
221
|
```svelte
|
|
219
222
|
<script lang="ts">
|
|
220
223
|
import { HeatmapPlot } from '@fundar/data-chart-telling';
|
|
221
|
-
import {
|
|
224
|
+
import { PENGUIN_COUNTS } from './datasets';
|
|
222
225
|
</script>
|
|
223
226
|
|
|
224
|
-
<!-- Segments on a heatmap: an outlined column and a filled block of
|
|
227
|
+
<!-- Segments on a heatmap: an outlined column and a filled block of cells. -->
|
|
225
228
|
<HeatmapPlot
|
|
226
229
|
width={560}
|
|
227
230
|
height={360}
|
|
228
|
-
data={
|
|
229
|
-
x="
|
|
230
|
-
y="
|
|
231
|
-
color="
|
|
231
|
+
data={PENGUIN_COUNTS}
|
|
232
|
+
x="island"
|
|
233
|
+
y="species"
|
|
234
|
+
color="count"
|
|
232
235
|
segments={{
|
|
233
236
|
default: [
|
|
234
237
|
{
|
|
235
|
-
areas: [{ x: { from: '
|
|
238
|
+
areas: [{ x: { from: 'Biscoe', to: 'Biscoe' } }],
|
|
236
239
|
styles: { stroke: '#f59e0b', strokeWidth: 2 }
|
|
237
240
|
},
|
|
238
241
|
{
|
|
239
|
-
areas: [{ x: { from: '
|
|
242
|
+
areas: [{ x: { from: 'Dream', to: 'Torgersen' }, y: { from: 'Chinstrap', to: 'Gentoo' } }],
|
|
240
243
|
styles: { fill: '#ef4444', fillOpacity: 0.8 }
|
|
241
244
|
}
|
|
242
245
|
]
|
package/docs/theming.md
CHANGED
|
@@ -31,26 +31,27 @@ resetConfiguration(); // back to the shipped defaults
|
|
|
31
31
|
|
|
32
32
|
## Sections
|
|
33
33
|
|
|
34
|
-
| Key
|
|
35
|
-
|
|
|
36
|
-
| `font`, `color`, `background`
|
|
37
|
-
| `palette`
|
|
38
|
-
| `symbols`
|
|
39
|
-
| `continuous`
|
|
40
|
-
| `spacing`, `chrome`
|
|
41
|
-
| `title`, `subtitle`, `caption`
|
|
42
|
-
| `divider`
|
|
43
|
-
| `legend`
|
|
44
|
-
| `axis`
|
|
45
|
-
| `tooltip`
|
|
46
|
-
| `margins`
|
|
47
|
-
| `line`, `area`, `bar`, `pyramid`, `histogram`, `box`, `scatter` | Per-kind defaults: stroke width, dot radius, series padding, gap fills, fill opacity, inset, box padding
|
|
48
|
-
| `text`
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
34
|
+
| Key | Controls |
|
|
35
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
36
|
+
| `font`, `color`, `background` | Base text of every figure |
|
|
37
|
+
| `palette` | Categorical series colors, in order: a list of colors, or the name of a [d3-scale-chromatic](https://d3js.org/d3-scale-chromatic) scheme - a color list (`'dark2'`, `'tableau10'`) or a ramp (`'viridis'`, `'blues'`) - or `{ scheme, count, schemeRange }` for a ramp with its own number of colors (8 by default) and part of the ramp (`[0.3, 1]` skips the near-white start of `'blues'`). A name is turned into the list of colors when it is set |
|
|
38
|
+
| `symbols` | Shape cycle for the `symbol` channel |
|
|
39
|
+
| `continuous` | Default ramp endpoints, label color and opacity range for continuous color and opacity |
|
|
40
|
+
| `spacing`, `chrome` | Padding around header, legend and caption; the chrome `order` and `rowGap` |
|
|
41
|
+
| `title`, `subtitle`, `caption` | Text blocks: `font`, `size`, `weight`, `color`, `leading`, `spacing` |
|
|
42
|
+
| `divider` | The line a `'divider'` in the chrome `order` draws |
|
|
43
|
+
| `legend` | Text, gaps, swatches, `disabledOpacity`, paginated nav buttons, the continuous bar, its handles, ticks and labels, and the `seriesTitle` and `sizeScale` options |
|
|
44
|
+
| `axis` | Axis color, font and tick sizes, `grid`, and the number locale (below) |
|
|
45
|
+
| `tooltip` | Tooltip background, color, font size, padding, radius, border |
|
|
46
|
+
| `margins` | Default margin per side (`'auto'` or a number) |
|
|
47
|
+
| `line`, `area`, `bar`, `pyramid`, `histogram`, `density`, `violin`, `box`, `lollipop`, `dumbbell`, `cleveland`, `forest`, `bullet`, `slope`, `sparkline`, `scatter` | Per-kind defaults: line curve (`'auto'`, straight segments), stroke width, dot radius, series padding, gap fills, fill opacity, inset, density stroke width, violin padding and box width, box, lollipop, dumbbell, Cleveland and forest padding, stem width, forest caps, bullet bar thickness, ranges and target tick, slope stroke width, dot radius and padding, sparkline stroke width and dot radius |
|
|
48
|
+
| `text` | `declutter` geometry of value labels and connectors |
|
|
49
|
+
| `connector` | What `styles.connector` falls back to on lollipop, dumbbell, Cleveland and forest plots: `sign` (`positive`, `negative`, `zero` colors), `lengthScheme` and `differenceScheme` (color ramps), `arrow` (`width`, `headLength`, `headAngle` of a connector drawn as an arrow), `outsideOpacity` (the part of a connector outside its `from`-`to` stretch), `capLength` (px, of a forest plot's end caps), `labelFontSize` and `labelGap` |
|
|
50
|
+
| `hover` | Look of the hover marker: `rule`, `dot`, `font`, `area` |
|
|
51
|
+
| `delta` | The `delta` marker's label, per axis the delta is taken on: `text.x` (beside a vertical delta: `dx: 12`, `textAnchor: 'start'`) and `text.y` (above a horizontal one: `dy: -10`, `textAnchor: 'middle'`). `lineAnchor` picks where along the delta the label sits and how it aligns there |
|
|
52
|
+
| `timeline` | The rule (`rule`) and the player bar (`player`: controls, speeds, `stepDuration`, button, track, thumb, toggle) |
|
|
53
|
+
| `facet` | The position badge and prev/next buttons |
|
|
54
|
+
| `frameClip` | Tolerance for clipping marks to the plot frame |
|
|
54
55
|
|
|
55
56
|
## Locale
|
|
56
57
|
|
|
@@ -70,6 +71,8 @@ setConfiguration({ axis: { locale: 'en-US', compactDisplay: 'long' } });
|
|
|
70
71
|
setConfiguration({ axis: { edgeTicks: { x: { enabled: true, collision: 'extend' } } } });
|
|
71
72
|
```
|
|
72
73
|
|
|
74
|
+
`axis.autoRotate` (default `true`) lets a category axis whose labels do not fit turn them to 45 or 90 degrees, and leave some out when that is not enough; an axis with its own `scales.x.tickRotate` is never touched, and `autoRotate: false` turns it off for every plot. It is read when a plot mounts.
|
|
75
|
+
|
|
73
76
|
A plot overrides it with `scales.x.edgeTicks` or `scales.y.edgeTicks` (see [Scales](scales.md)).
|
|
74
77
|
|
|
75
78
|
## CSS variables
|
package/docs/timeline.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
```svelte
|
|
8
8
|
<script lang="ts">
|
|
9
9
|
import { BarPlot } from '@fundar/data-chart-telling';
|
|
10
|
-
import { REGION_VALUES } from './
|
|
10
|
+
import { REGION_VALUES } from './datasets';
|
|
11
11
|
</script>
|
|
12
12
|
|
|
13
13
|
<!--
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
| `values` | The steps, when not every distinct value of `accessor` - read like `accessor`'s values |
|
|
44
44
|
| `filterMode` | `'exact'` shows the rows of the current step; `'upTo'` shows every row up to it (a cumulative reveal). `LinePlot` defaults to `'upTo'` |
|
|
45
45
|
| `interpolate` | Tween values between steps so a scrub is smooth: `true`, or `{ key, value, create, progressEasing, segmentEasing }`. Line and bar plots default to interpolating their value channel |
|
|
46
|
-
| `scales` | `'shared'` (default): axes span every step, so they hold still while scrubbing; `'free'` refits
|
|
46
|
+
| `scales` | `'shared'` (default): axes span every step, so they hold still while scrubbing; `'free'` refits both to each step; `'free-x'` / `'free-y'` refit one and keep the other still |
|
|
47
47
|
| `onprogress`, `onvalue` | Called with the new position (`0`-`1`) and with the step it lands on - a `Date` on a timeline of dates, else the number |
|
|
48
48
|
| `orientation`, `show`, `thickness` | A rule's direction (`'vertical'` default, beside the plot; `'horizontal'`), visibility and size |
|
|
49
49
|
|
|
@@ -90,7 +90,7 @@ Defaults for `controls`, `speeds` and `stepDuration` come from `timeline.player`
|
|
|
90
90
|
```svelte
|
|
91
91
|
<script lang="ts">
|
|
92
92
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
93
|
-
import { REGION_VALUES } from './
|
|
93
|
+
import { REGION_VALUES } from './datasets';
|
|
94
94
|
|
|
95
95
|
// A rule has no controls of its own: the page moves it through `progress` (0 to 1).
|
|
96
96
|
// One step per year; a line plot shows every row up to the current step.
|
|
@@ -9,7 +9,7 @@ A plot becomes interactive when it is given a `tooltip`, a `{ type: 'hover' }` m
|
|
|
9
9
|
```svelte
|
|
10
10
|
<script lang="ts">
|
|
11
11
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
12
|
-
import { REGION_VALUES } from './
|
|
12
|
+
import { REGION_VALUES } from './datasets';
|
|
13
13
|
</script>
|
|
14
14
|
|
|
15
15
|
<!--
|
|
@@ -34,14 +34,14 @@ A plot becomes interactive when it is given a `tooltip`, a `{ type: 'hover' }` m
|
|
|
34
34
|
|
|
35
35
|
`tooltip` is `true` for the defaults, or an options object:
|
|
36
36
|
|
|
37
|
-
| Option | Meaning
|
|
38
|
-
| -------------------- |
|
|
39
|
-
| `strategy` | How related points are found: `'x'`, `'y'`, `'punctual'` (the exact point) or `'series'` (all points of the hovered series). Defaults per plot kind
|
|
40
|
-
| `sync` | Show the highlight in every synced plot too (default `false`)
|
|
41
|
-
| `format` | `(row) => string` - the tooltip text for the hovered row (`\n` breaks lines). With several rows, they read from the highest value to the lowest (a stacked row by its own value)
|
|
42
|
-
| `content` | A snippet `{#snippet content({ rows })}` replacing the text with custom markup. It gets the rows as the hover matched them, unsorted,
|
|
43
|
-
| `series` | Only these series appear in the tooltip
|
|
44
|
-
| `anchorX`, `anchorY` | Preferred side of the cursor: `'left' \| 'middle' \| 'right'` (default `'right'`) and `'top' \| 'middle' \| 'bottom'` (default `'bottom'`). It moves to the other side when it would overflow
|
|
37
|
+
| Option | Meaning |
|
|
38
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
39
|
+
| `strategy` | How related points are found: `'x'`, `'y'`, `'punctual'` (the exact point) or `'series'` (all points of the hovered series). Defaults per plot kind |
|
|
40
|
+
| `sync` | Show the highlight in every synced plot too (default `false`) |
|
|
41
|
+
| `format` | `(row) => string` - the tooltip text for the hovered row (`\n` breaks lines). With several rows, they read from the highest value to the lowest (a stacked row by its own value) |
|
|
42
|
+
| `content` | A snippet `{#snippet content({ rows })}` replacing the text with custom markup. It gets the rows as the hover matched them, unsorted, each one your row plus a `seriesColor`: the one the plot draws it in (the series color, from `scales.color` or the palette). It is drawn in a plain card, so the markup brings its own order, background, colors and spacing |
|
|
43
|
+
| `series` | Only these series appear in the tooltip |
|
|
44
|
+
| `anchorX`, `anchorY` | Preferred side of the cursor: `'left' \| 'middle' \| 'right'` (default `'right'`) and `'top' \| 'middle' \| 'bottom'` (default `'bottom'`). It moves to the other side when it would overflow |
|
|
45
45
|
|
|
46
46
|
<!-- example: examples/CustomTooltip.svelte -->
|
|
47
47
|
|
|
@@ -49,7 +49,7 @@ A plot becomes interactive when it is given a `tooltip`, a `{ type: 'hover' }` m
|
|
|
49
49
|
<script lang="ts">
|
|
50
50
|
import { LinePlot, getConfiguration, paletteColor } from '@fundar/data-chart-telling';
|
|
51
51
|
import TooltipCard from './TooltipCard.svelte';
|
|
52
|
-
import { REGION_VALUES, type RegionRow } from './
|
|
52
|
+
import { REGION_VALUES, type RegionRow } from './datasets';
|
|
53
53
|
|
|
54
54
|
const { palette } = getConfiguration();
|
|
55
55
|
const regions = [...new Set(REGION_VALUES.map((row) => row.region))];
|
|
@@ -11,7 +11,7 @@ Both derive rows from the data before drawing. A **transform** reshapes the rows
|
|
|
11
11
|
```svelte
|
|
12
12
|
<script lang="ts">
|
|
13
13
|
import { BarPlot } from '@fundar/data-chart-telling';
|
|
14
|
-
import { SEX_SHARES } from './
|
|
14
|
+
import { SEX_SHARES } from './datasets';
|
|
15
15
|
</script>
|
|
16
16
|
|
|
17
17
|
<!-- Each sex's share of the population per census, stacked with `stackY` so a bar adds up to 100%. -->
|
|
@@ -35,7 +35,7 @@ Both derive rows from the data before drawing. A **transform** reshapes the rows
|
|
|
35
35
|
```svelte
|
|
36
36
|
<script lang="ts">
|
|
37
37
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
38
|
-
import { PRICES } from './
|
|
38
|
+
import { PRICES } from './datasets';
|
|
39
39
|
</script>
|
|
40
40
|
|
|
41
41
|
<!-- A 6-month moving average, run on the plot's rows. -->
|
|
@@ -82,14 +82,14 @@ Bar stacking is always `stackY`, also for horizontal bars. A transform on a `His
|
|
|
82
82
|
```svelte
|
|
83
83
|
<script lang="ts">
|
|
84
84
|
import { ScatterPlot } from '@fundar/data-chart-telling';
|
|
85
|
-
import {
|
|
85
|
+
import { COUNTRIES_AT_2007 } from './datasets';
|
|
86
86
|
</script>
|
|
87
87
|
|
|
88
88
|
<!-- A linear regression with its 95% confidence band. -->
|
|
89
89
|
<ScatterPlot
|
|
90
90
|
width={720}
|
|
91
91
|
height={400}
|
|
92
|
-
data={
|
|
92
|
+
data={COUNTRIES_AT_2007}
|
|
93
93
|
x="gdp"
|
|
94
94
|
y="life"
|
|
95
95
|
statistics={[{ type: 'regression', regressionType: 'linear', confidence: 0.95 }]}
|
|
@@ -100,14 +100,15 @@ Bar stacking is always `stackY`, also for horizontal bars. A transform on a `His
|
|
|
100
100
|
|
|
101
101
|

|
|
102
102
|
|
|
103
|
-
| `type` | Draws
|
|
104
|
-
| --------------- |
|
|
105
|
-
| `regression` | A fitted curve with a confidence band
|
|
106
|
-
| `movingAverage` | A smoothed line
|
|
107
|
-
| `bollinger` | Moving average and a band of `k` standard deviations
|
|
108
|
-
| `density` | A 1D density curve over `x`
|
|
109
|
-
| `density2d` | 2D density contour bands
|
|
110
|
-
| `box` | A box plot per category
|
|
103
|
+
| `type` | Draws | Options |
|
|
104
|
+
| --------------- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
105
|
+
| `regression` | A fitted curve with a confidence band | `regressionType` (`'linear'`, `'quad'`, `'poly'`, `'exp'`, `'log'`, `'pow'`, `'loess'`), `order`, `base`, `span`, `confidence` (`false` omits the band), `styles` |
|
|
106
|
+
| `movingAverage` | A smoothed line | `k` (required), `reduce`, `styles` |
|
|
107
|
+
| `bollinger` | Moving average and a band of `k` standard deviations | `n`, `k`, `styles` |
|
|
108
|
+
| `density` | A 1D density curve over `x` | `kernel`, `bandwidth`, `styles` |
|
|
109
|
+
| `density2d` | 2D density contour bands | `bandwidth`, `thresholds`, `styles` |
|
|
110
|
+
| `box` | A box plot per category | the options of the [`box` marker](markers.md) |
|
|
111
|
+
| `deviation` | A rule at an estimator and a band around it, along the plot's value axis | `estimator` (`'mean'`, `'median'`, `'midrange'`), `spread` (`'stdev'`, `'mad'`), `k` (band half-width in spreads, default 1), `rule` and `band` (styles, or `false` to omit), each with a `label` (`true`, or `{ text, styles }` with a `FontStyle`; the band's also `edge` (`'lower'`, `'upper'`) and `position` (`'inside'`, `'outside'`)) |
|
|
111
112
|
|
|
112
113
|
Which series a statistic runs over:
|
|
113
114
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { BarPlot } from '@fundar/data-chart-telling';
|
|
3
|
-
import { REGION_VALUES, MONTHS } from './
|
|
3
|
+
import { REGION_VALUES, MONTHS } from './datasets';
|
|
4
4
|
</script>
|
|
5
5
|
|
|
6
6
|
<!-- Categories on x, values on y. Swap `x` and `y` for horizontal bars. -->
|
package/examples/Box.svelte
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { BulletPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PROVINCE_LIFE } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Female life expectancy at birth by province: the bar, against a target of 80 years, over bands for under 76, 76 to 80 and over 80. -->
|
|
7
|
+
<BulletPlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={PROVINCE_LIFE}
|
|
11
|
+
x="female"
|
|
12
|
+
y="province"
|
|
13
|
+
target={80}
|
|
14
|
+
ranges={[76, 80, 85]}
|
|
15
|
+
scales={{ x: { domain: [70, 85] } }}
|
|
16
|
+
styles={{ values: { show: true } }}
|
|
17
|
+
/>
|
package/examples/Chrome.svelte
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ClevelandPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { AGE_SHARES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- One dot per census year in each age group, joined from the lowest share to the highest. The years follow one another, so they take a sequential blues ramp. -->
|
|
7
|
+
<ClevelandPlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={AGE_SHARES}
|
|
11
|
+
x="share"
|
|
12
|
+
y="ageGroup"
|
|
13
|
+
grouping="year"
|
|
14
|
+
scales={{ color: { scheme: 'blues', schemeRange: [0.3, 1] } }}
|
|
15
|
+
/>
|
package/examples/Composer.svelte
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { PlotComposer, LinePlot, BarPlot, ScatterPlot } from '@fundar/data-chart-telling';
|
|
3
|
-
import { REGION_VALUES, PROVINCE_VALUES,
|
|
3
|
+
import { REGION_VALUES, PROVINCE_VALUES, COUNTRIES_AT_2007 } from './datasets';
|
|
4
4
|
</script>
|
|
5
5
|
|
|
6
6
|
<!-- Several plots in one figure, placed on named areas of a grid. -->
|
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
x="province"
|
|
20
20
|
y="value"
|
|
21
21
|
/>
|
|
22
|
-
<ScatterPlot area="c" data={
|
|
22
|
+
<ScatterPlot area="c" data={COUNTRIES_AT_2007} x="gdp" y="life" />
|
|
23
23
|
</PlotComposer>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { LinePlot, getConfiguration, paletteColor } from '@fundar/data-chart-telling';
|
|
3
3
|
import TooltipCard from './TooltipCard.svelte';
|
|
4
|
-
import { REGION_VALUES, type RegionRow } from './
|
|
4
|
+
import { REGION_VALUES, type RegionRow } from './datasets';
|
|
5
5
|
|
|
6
6
|
const { palette } = getConfiguration();
|
|
7
7
|
const regions = [...new Set(REGION_VALUES.map((row) => row.region))];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { DensityPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { HEIGHTS } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- A smoothed distribution per `grouping` value, the continuous pair of a histogram. -->
|
|
7
|
+
<DensityPlot width={720} height={400} data={HEIGHTS} x="height" grouping="group" />
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { DumbbellPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PROVINCE_VALUES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Two dots per province, one per sex, joined by a connector: the gap in life expectancy at birth. -->
|
|
7
|
+
<DumbbellPlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={PROVINCE_VALUES}
|
|
11
|
+
x="value"
|
|
12
|
+
y="province"
|
|
13
|
+
color="sex"
|
|
14
|
+
scales={{ x: { domain: [70, 85] } }}
|
|
15
|
+
styles={{ values: { show: true } }}
|
|
16
|
+
/>
|
package/examples/Facets.svelte
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
-
import { REGION_VALUES } from './
|
|
3
|
+
import { REGION_VALUES } from './datasets';
|
|
4
4
|
</script>
|
|
5
5
|
|
|
6
6
|
<!-- One panel per region, three columns, sharing scales. A tooltip with `sync` shows in every panel on purpose. -->
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ForestPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { INFLATION_RANGES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- One row per region and year: the mean monthly inflation as a dot, on a stem from its lowest to its highest month. -->
|
|
7
|
+
<ForestPlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={480}
|
|
10
|
+
data={INFLATION_RANGES}
|
|
11
|
+
x="mean"
|
|
12
|
+
y="period"
|
|
13
|
+
lower="min"
|
|
14
|
+
upper="max"
|
|
15
|
+
color="region"
|
|
16
|
+
scales={{ x: { label: 'Monthly inflation (%)' } }}
|
|
17
|
+
/>
|
package/examples/Gaps.svelte
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
-
import {
|
|
3
|
+
import { FEMALE_LIFE_GAPS } from './datasets';
|
|
4
4
|
</script>
|
|
5
5
|
|
|
6
6
|
<!-- Missing values bridged: dashed in the middle, faded at the start, extended to the 2025 projection at the end. -->
|
|
7
7
|
<LinePlot
|
|
8
8
|
width={720}
|
|
9
9
|
height={400}
|
|
10
|
-
series={[{ name: 'female', x: 'year', y: 'value', data:
|
|
10
|
+
series={[{ name: 'female', x: 'year', y: 'value', data: FEMALE_LIFE_GAPS }]}
|
|
11
11
|
scales={{ x: { edgeTicks: true }, y: { domain: [55, 85] } }}
|
|
12
12
|
styles={{
|
|
13
13
|
gaps: {
|
package/examples/Heatmap.svelte
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { HeatmapPlot } from '@fundar/data-chart-telling';
|
|
3
|
-
import {
|
|
3
|
+
import { PENGUIN_COUNTS } from './datasets';
|
|
4
4
|
</script>
|
|
5
5
|
|
|
6
|
-
<!-- One cell per
|
|
7
|
-
<HeatmapPlot width={560} height={360} data={
|
|
6
|
+
<!-- One cell per island and species, colored by the number of penguins. -->
|
|
7
|
+
<HeatmapPlot width={560} height={360} data={PENGUIN_COUNTS} x="island" y="species" color="count" />
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { HeatmapPlot } from '@fundar/data-chart-telling';
|
|
3
|
-
import {
|
|
3
|
+
import { PENGUIN_COUNTS } from './datasets';
|
|
4
4
|
</script>
|
|
5
5
|
|
|
6
|
-
<!-- Segments on a heatmap: an outlined column and a filled block of
|
|
6
|
+
<!-- Segments on a heatmap: an outlined column and a filled block of cells. -->
|
|
7
7
|
<HeatmapPlot
|
|
8
8
|
width={560}
|
|
9
9
|
height={360}
|
|
10
|
-
data={
|
|
11
|
-
x="
|
|
12
|
-
y="
|
|
13
|
-
color="
|
|
10
|
+
data={PENGUIN_COUNTS}
|
|
11
|
+
x="island"
|
|
12
|
+
y="species"
|
|
13
|
+
color="count"
|
|
14
14
|
segments={{
|
|
15
15
|
default: [
|
|
16
16
|
{
|
|
17
|
-
areas: [{ x: { from: '
|
|
17
|
+
areas: [{ x: { from: 'Biscoe', to: 'Biscoe' } }],
|
|
18
18
|
styles: { stroke: '#f59e0b', strokeWidth: 2 }
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
|
-
areas: [{ x: { from: '
|
|
21
|
+
areas: [{ x: { from: 'Dream', to: 'Torgersen' }, y: { from: 'Chinstrap', to: 'Gentoo' } }],
|
|
22
22
|
styles: { fill: '#ef4444', fillOpacity: 0.8 }
|
|
23
23
|
}
|
|
24
24
|
]
|