@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,35 +1,42 @@
|
|
|
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 {
|
|
4
|
+
import { REGION_VALUES, type RegionRow } from './datasets';
|
|
5
5
|
|
|
6
6
|
const { palette } = getConfiguration();
|
|
7
|
-
const regions = [...new Set(
|
|
7
|
+
const regions = [...new Set(REGION_VALUES.map((row) => row.region))];
|
|
8
8
|
</script>
|
|
9
9
|
|
|
10
10
|
<!--
|
|
11
11
|
`content` replaces the tooltip text with your own markup, drawn in a plain
|
|
12
12
|
card: TooltipCard brings its own background, colors and spacing. It is given
|
|
13
|
-
every row the hover matched
|
|
13
|
+
every row the hover matched, in no particular order, so it sorts them itself;
|
|
14
|
+
series colors come from the configuration's palette.
|
|
14
15
|
-->
|
|
15
|
-
{#snippet content({ rows }: { rows:
|
|
16
|
+
{#snippet content({ rows }: { rows: RegionRow[] })}
|
|
16
17
|
<TooltipCard
|
|
17
|
-
heading={
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
18
|
+
heading={rows[0].date.toLocaleDateString('en-US', {
|
|
19
|
+
month: 'long',
|
|
20
|
+
year: 'numeric',
|
|
21
|
+
timeZone: 'UTC'
|
|
22
|
+
})}
|
|
23
|
+
footer="Monthly inflation (%)"
|
|
24
|
+
entries={[...rows]
|
|
25
|
+
.sort((a, b) => b.value - a.value)
|
|
26
|
+
.map((row) => ({
|
|
27
|
+
label: row.region,
|
|
28
|
+
color: paletteColor(regions.indexOf(row.region), palette),
|
|
29
|
+
value: row.value,
|
|
30
|
+
display: String(row.value)
|
|
31
|
+
}))}
|
|
25
32
|
/>
|
|
26
33
|
{/snippet}
|
|
27
34
|
|
|
28
35
|
<LinePlot
|
|
29
36
|
width={720}
|
|
30
37
|
height={400}
|
|
31
|
-
data={
|
|
32
|
-
x="
|
|
38
|
+
data={REGION_VALUES}
|
|
39
|
+
x="date"
|
|
33
40
|
y="value"
|
|
34
41
|
color="region"
|
|
35
42
|
tooltip={{ strategy: 'x', content }}
|
|
@@ -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,14 +1,14 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
-
import {
|
|
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. -->
|
|
7
7
|
<LinePlot
|
|
8
8
|
width={900}
|
|
9
9
|
height={360}
|
|
10
|
-
data={
|
|
11
|
-
x="
|
|
10
|
+
data={REGION_VALUES}
|
|
11
|
+
x="date"
|
|
12
12
|
y="value"
|
|
13
13
|
facet={{ by: 'region', columns: 3, gap: 12, scales: 'shared' }}
|
|
14
14
|
tooltip={{ sync: true }}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { REGION_VALUES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- A carousel shows `visible` panels at a time, with navigation below. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={340}
|
|
10
|
+
data={REGION_VALUES}
|
|
11
|
+
x="date"
|
|
12
|
+
y="value"
|
|
13
|
+
facet={{ by: 'region', columns: 3, mode: 'carousel', visible: 2, navLayout: 'below' }}
|
|
14
|
+
/>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { REGION_VALUES } from './datasets';
|
|
4
|
+
|
|
5
|
+
// Each region's value split into two sectors.
|
|
6
|
+
const SECTORS = [
|
|
7
|
+
{ sector: 'Goods', share: 0.8 },
|
|
8
|
+
{ sector: 'Services', share: 1.4 }
|
|
9
|
+
];
|
|
10
|
+
const rows = REGION_VALUES.flatMap((row) =>
|
|
11
|
+
SECTORS.map(({ sector, share }) => ({ ...row, sector, value: row.value * share }))
|
|
12
|
+
);
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<!-- One panel per region and sector; `scales: 'free'` fits each panel to its own data. -->
|
|
16
|
+
<LinePlot
|
|
17
|
+
width={720}
|
|
18
|
+
height={420}
|
|
19
|
+
data={rows}
|
|
20
|
+
x="date"
|
|
21
|
+
y="value"
|
|
22
|
+
facet={{ rows: 'region', cols: 'sector', scales: 'free' }}
|
|
23
|
+
/>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { REGION_VALUES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- The smallest useful plot: rows, the fields to map and a pixel size. -->
|
|
7
|
+
<LinePlot width={720} height={400} data={REGION_VALUES} x="date" y="value" color="region" />
|
|
@@ -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
|
+
/>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { FEMALE_LIFE_GAPS } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Missing values bridged: dashed in the middle, faded at the start, extended to the 2025 projection at the end. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
series={[{ name: 'female', x: 'year', y: 'value', data: FEMALE_LIFE_GAPS }]}
|
|
11
|
+
scales={{ x: { edgeTicks: true }, y: { domain: [55, 85] } }}
|
|
12
|
+
styles={{
|
|
13
|
+
gaps: {
|
|
14
|
+
default: {
|
|
15
|
+
middle: { interpolate: 'linear', style: { stroke: { strokeDasharray: '4 4' } } },
|
|
16
|
+
start: { x: 1940, style: { stroke: { strokeOpacity: 0.4 } } },
|
|
17
|
+
end: { x: 2025, y: 81.1 }
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}}
|
|
21
|
+
/>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { BarPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PROVINCE_VALUES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Vertical bars, grouped by `color`. -->
|
|
7
|
+
<BarPlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={PROVINCE_VALUES}
|
|
11
|
+
x="province"
|
|
12
|
+
y="value"
|
|
13
|
+
color="sex"
|
|
14
|
+
scales={{ y: { domain: [70, 85] } }}
|
|
15
|
+
/>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { HeatmapPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PENGUIN_COUNTS } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
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" />
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { HeatmapPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PENGUIN_COUNTS } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Segments on a heatmap: an outlined column and a filled block of cells. -->
|
|
7
|
+
<HeatmapPlot
|
|
8
|
+
width={560}
|
|
9
|
+
height={360}
|
|
10
|
+
data={PENGUIN_COUNTS}
|
|
11
|
+
x="island"
|
|
12
|
+
y="species"
|
|
13
|
+
color="count"
|
|
14
|
+
segments={{
|
|
15
|
+
default: [
|
|
16
|
+
{
|
|
17
|
+
areas: [{ x: { from: 'Biscoe', to: 'Biscoe' } }],
|
|
18
|
+
styles: { stroke: '#f59e0b', strokeWidth: 2 }
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
areas: [{ x: { from: 'Dream', to: 'Torgersen' }, y: { from: 'Chinstrap', to: 'Gentoo' } }],
|
|
22
|
+
styles: { fill: '#ef4444', fillOpacity: 0.8 }
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}}
|
|
26
|
+
/>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { HistogramPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { HEIGHTS } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Two overlapping distributions, one per `grouping` value. -->
|
|
7
|
+
<HistogramPlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={HEIGHTS}
|
|
11
|
+
x="height"
|
|
12
|
+
grouping="group"
|
|
13
|
+
segments={{ default: [{ styles: { fillOpacity: 0.7 } }] }}
|
|
14
|
+
/>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { BarPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PROVINCE_VALUES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Horizontal bars: the categories go on `y`, the values on `x`. -->
|
|
7
|
+
<BarPlot
|
|
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
|
+
/>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { REGION_VALUES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- An explicit legend: a discrete section of toggles and a continuous ramp. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={REGION_VALUES}
|
|
11
|
+
x="date"
|
|
12
|
+
y="value"
|
|
13
|
+
color="region"
|
|
14
|
+
legend={[
|
|
15
|
+
{
|
|
16
|
+
type: 'discrete',
|
|
17
|
+
title: 'Region',
|
|
18
|
+
interactive: { enabled: true },
|
|
19
|
+
items: [
|
|
20
|
+
{ name: 'GBA', color: '#4f46e5', symbol: 'line' },
|
|
21
|
+
{ name: 'Cuyo', color: '#e6580d', symbol: 'line' },
|
|
22
|
+
{ name: 'Northwest', color: '#16a34a', symbol: 'line' }
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
{ type: 'continuous', title: 'Share', min: 0, max: 100, scheme: 'blues' }
|
|
26
|
+
]}
|
|
27
|
+
/>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
-
import {
|
|
3
|
+
import { REGION_VALUES } from './datasets';
|
|
4
4
|
import LegendReader from './LegendReader.svelte';
|
|
5
5
|
</script>
|
|
6
6
|
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
<LinePlot
|
|
14
14
|
width={720}
|
|
15
15
|
height={400}
|
|
16
|
-
data={
|
|
17
|
-
x="
|
|
16
|
+
data={REGION_VALUES}
|
|
17
|
+
x="date"
|
|
18
18
|
y="value"
|
|
19
19
|
color="region"
|
|
20
20
|
legend={{ series: { interactive: { enabled: true, disabled: { mode: 'omit' } } } }}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { REGION_VALUES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- One line per region, with a title, the automatic legend, end-of-line values and a tooltip. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
title="Monthly inflation by region (%)"
|
|
11
|
+
data={REGION_VALUES}
|
|
12
|
+
x="date"
|
|
13
|
+
y="value"
|
|
14
|
+
color="region"
|
|
15
|
+
tooltip
|
|
16
|
+
scales={{ x: { label: false } }}
|
|
17
|
+
styles={{ values: { show: true } }}
|
|
18
|
+
/>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PRICES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- A line per commodity over a date axis, with end-of-line labels. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={PRICES}
|
|
11
|
+
x="date"
|
|
12
|
+
y="index"
|
|
13
|
+
color="commodity"
|
|
14
|
+
styles={{ values: { show: true, format: (v, name) => `${name}: ${v}` } }}
|
|
15
|
+
/>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { LIFE } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- A step plot is a line plot with a step curve: each life table holds its value until the next one. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={380}
|
|
10
|
+
data={LIFE}
|
|
11
|
+
x="year"
|
|
12
|
+
y="value"
|
|
13
|
+
color="sex"
|
|
14
|
+
scales={{ x: { edgeTicks: true } }}
|
|
15
|
+
styles={{ curve: 'step-after' }}
|
|
16
|
+
/>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { LIFE } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- A segment sets its own curve: the female line is straight until 1980 and steps from then on. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={380}
|
|
10
|
+
data={LIFE}
|
|
11
|
+
x="year"
|
|
12
|
+
y="value"
|
|
13
|
+
color="sex"
|
|
14
|
+
scales={{ x: { edgeTicks: true } }}
|
|
15
|
+
segments={{
|
|
16
|
+
female: [{ areas: [{ x: { from: 1980 } }], styles: { curve: 'step-after' } }]
|
|
17
|
+
}}
|
|
18
|
+
/>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LollipopPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PROVINCE_VALUES } from './datasets';
|
|
4
|
+
|
|
5
|
+
const female = PROVINCE_VALUES.filter((row) => row.sex === 'female');
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<!-- One dot on a stem per province: female life expectancy at birth, with its value beside it. -->
|
|
9
|
+
<LollipopPlot
|
|
10
|
+
width={720}
|
|
11
|
+
height={400}
|
|
12
|
+
data={female}
|
|
13
|
+
x="value"
|
|
14
|
+
y="province"
|
|
15
|
+
scales={{ x: { domain: [70, 85] } }}
|
|
16
|
+
styles={{ values: { show: true } }}
|
|
17
|
+
/>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { LIFE } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Markers add marks to a plot: a hover highlight, a reference rule and a delta between two series. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={LIFE}
|
|
11
|
+
x="year"
|
|
12
|
+
y="value"
|
|
13
|
+
color="sex"
|
|
14
|
+
scales={{ x: { edgeTicks: true } }}
|
|
15
|
+
markers={[
|
|
16
|
+
{ type: 'hover' },
|
|
17
|
+
{ type: 'rule', axis: 'x', value: 2001, styles: { stroke: '#999', strokeDasharray: '4 4' } },
|
|
18
|
+
{
|
|
19
|
+
type: 'delta',
|
|
20
|
+
axis: 'x',
|
|
21
|
+
at: 1980,
|
|
22
|
+
from: { type: 'series', series: 'female' },
|
|
23
|
+
to: { type: 'series', series: 'male' },
|
|
24
|
+
formatDiff: (difference) => difference.toFixed(1)
|
|
25
|
+
}
|
|
26
|
+
]}
|
|
27
|
+
/>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PRICES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- A 6-month moving average, run on the plot's rows. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={PRICES}
|
|
11
|
+
x="date"
|
|
12
|
+
y="index"
|
|
13
|
+
color="commodity"
|
|
14
|
+
transforms={[{ type: 'windowY', k: 6, reduce: 'mean' }]}
|
|
15
|
+
/>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { PyramidPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { POPULATION_BY_AGE_AT_2022 } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- A population pyramid: one side per `color` value. -->
|
|
7
|
+
<PyramidPlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={POPULATION_BY_AGE_AT_2022}
|
|
11
|
+
x="share"
|
|
12
|
+
y="ageGroup"
|
|
13
|
+
color="sex"
|
|
14
|
+
/>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ScatterPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { COUNTRIES_AT_2007 } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- A linear regression with its 95% confidence band. -->
|
|
7
|
+
<ScatterPlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={COUNTRIES_AT_2007}
|
|
11
|
+
x="gdp"
|
|
12
|
+
y="life"
|
|
13
|
+
statistics={[{ type: 'regression', regressionType: 'linear', confidence: 0.95 }]}
|
|
14
|
+
/>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
-
import {
|
|
3
|
+
import { REGION_VALUES } from './datasets';
|
|
4
4
|
|
|
5
5
|
// A plot draws at the pixel size it is given. To fill a container (or the
|
|
6
6
|
// window), bind its size and pass it down.
|
|
@@ -13,15 +13,15 @@
|
|
|
13
13
|
<LinePlot
|
|
14
14
|
{width}
|
|
15
15
|
{height}
|
|
16
|
-
title="
|
|
17
|
-
subtitle="
|
|
18
|
-
data={
|
|
19
|
-
x="
|
|
16
|
+
title="Monthly inflation by region"
|
|
17
|
+
subtitle="Change from the previous month, 2023-2026"
|
|
18
|
+
data={REGION_VALUES}
|
|
19
|
+
x="date"
|
|
20
20
|
y="value"
|
|
21
21
|
color="region"
|
|
22
22
|
scales={{
|
|
23
|
-
x: { label: '
|
|
24
|
-
y: { label: '
|
|
23
|
+
x: { label: 'Month' },
|
|
24
|
+
y: { label: 'Inflation (%)' }
|
|
25
25
|
}}
|
|
26
26
|
styles={{ values: { show: true, format: (v, name) => `${name}: ${v}` } }}
|
|
27
27
|
margins={{ right: 'auto' }}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { PRICES } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Axis labels, a fixed domain with gridlines and a color per series. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={400}
|
|
10
|
+
data={PRICES}
|
|
11
|
+
x="date"
|
|
12
|
+
y="index"
|
|
13
|
+
color="commodity"
|
|
14
|
+
scales={{
|
|
15
|
+
x: { label: 'Month' },
|
|
16
|
+
y: { label: 'Index (Jan 2021 = 100)', domain: [0, 600], grid: true },
|
|
17
|
+
color: {
|
|
18
|
+
scheme: {
|
|
19
|
+
'Brent oil': '#1b9e77',
|
|
20
|
+
'Natural gas': '#d95f02',
|
|
21
|
+
Coal: '#7570b3',
|
|
22
|
+
Wheat: '#e7298a'
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}}
|
|
26
|
+
/>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { ScatterPlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { COUNTRIES_AT_2007 } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Points sized by `r`, colored by `color` and shaped by `symbol`. -->
|
|
7
|
+
<ScatterPlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={420}
|
|
10
|
+
data={COUNTRIES_AT_2007}
|
|
11
|
+
x="gdp"
|
|
12
|
+
y="life"
|
|
13
|
+
r="population"
|
|
14
|
+
color="continent"
|
|
15
|
+
symbol="income"
|
|
16
|
+
/>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { REGION_VALUES } from './datasets';
|
|
4
|
+
|
|
5
|
+
const gba = REGION_VALUES.filter((row) => row.region === 'GBA');
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<!-- A grey line with the 2023-2024 surge drawn in red. -->
|
|
9
|
+
<LinePlot
|
|
10
|
+
width={720}
|
|
11
|
+
height={380}
|
|
12
|
+
series={[{ name: 'GBA', x: 'date', y: 'value', data: gba }]}
|
|
13
|
+
segments={{
|
|
14
|
+
GBA: [
|
|
15
|
+
{ styles: { stroke: { stroke: '#94a3b8', strokeWidth: 1 } } },
|
|
16
|
+
{
|
|
17
|
+
areas: [{ x: { from: new Date('2023-07-01'), to: new Date('2024-03-01') } }],
|
|
18
|
+
styles: { stroke: { stroke: '#ef4444', strokeWidth: 3 } }
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}}
|
|
22
|
+
/>
|
package/examples/Segments.svelte
CHANGED
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
3
|
import type { LineSegmentStyle, SegmentsConfig } from '@fundar/data-chart-telling';
|
|
4
|
-
import {
|
|
4
|
+
import { REGION_VALUES } from './datasets';
|
|
5
5
|
|
|
6
6
|
// `segments` maps a series name (or 'default' for all series) to its rules.
|
|
7
7
|
const segments = {
|
|
8
8
|
default: [
|
|
9
9
|
{
|
|
10
|
-
areas: [{ x: { from:
|
|
10
|
+
areas: [{ x: { from: new Date('2025-01-01'), to: new Date('2026-08-01') } }],
|
|
11
11
|
styles: { stroke: { strokeDasharray: '6 4', strokeOpacity: 0.7 } }
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
} satisfies SegmentsConfig<LineSegmentStyle>;
|
|
15
15
|
</script>
|
|
16
16
|
|
|
17
|
-
<LinePlot
|
|
17
|
+
<LinePlot
|
|
18
|
+
width={720}
|
|
19
|
+
height={400}
|
|
20
|
+
data={REGION_VALUES}
|
|
21
|
+
x="date"
|
|
22
|
+
y="value"
|
|
23
|
+
color="region"
|
|
24
|
+
{segments}
|
|
25
|
+
/>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { LinePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { LIFE } from './datasets';
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<!-- Segments per series name, plus `default` for rules shared by every series. -->
|
|
7
|
+
<LinePlot
|
|
8
|
+
width={720}
|
|
9
|
+
height={380}
|
|
10
|
+
data={LIFE}
|
|
11
|
+
x="year"
|
|
12
|
+
y="value"
|
|
13
|
+
color="sex"
|
|
14
|
+
scales={{ x: { edgeTicks: true } }}
|
|
15
|
+
segments={{
|
|
16
|
+
female: [{ styles: { stroke: { stroke: 'steelblue' } } }],
|
|
17
|
+
male: [{ styles: { stroke: { stroke: 'tomato' } } }],
|
|
18
|
+
default: [
|
|
19
|
+
{
|
|
20
|
+
areas: [{ x: { from: 1965, to: 1980 } }],
|
|
21
|
+
styles: { dots: { dotRadius: 5, dotSymbol: 'circle' } }
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}}
|
|
25
|
+
/>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { SlopePlot } from '@fundar/data-chart-telling';
|
|
3
|
+
import { AGE_SHARES } from './datasets';
|
|
4
|
+
|
|
5
|
+
const censuses = AGE_SHARES.filter(({ year }) => year === 1991 || year === 2022);
|
|
6
|
+
</script>
|
|
7
|
+
|
|
8
|
+
<!-- Each age group's share of Buenos Aires City's population between two censuses, labelled at both ends. -->
|
|
9
|
+
<SlopePlot
|
|
10
|
+
width={720}
|
|
11
|
+
height={400}
|
|
12
|
+
data={censuses}
|
|
13
|
+
x="year"
|
|
14
|
+
y="share"
|
|
15
|
+
color="ageGroup"
|
|
16
|
+
styles={{ values: { show: true } }}
|
|
17
|
+
/>
|