@fundar/data-chart-telling 1.1.0 → 1.3.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.
Files changed (539) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +8 -7
  3. package/dist/configuration/config.svelte.d.ts +1 -1
  4. package/dist/configuration/config.svelte.js +177 -100
  5. package/dist/configuration/themes/index.d.ts +5 -1428
  6. package/dist/index.d.ts +23 -14
  7. package/dist/index.js +20 -11
  8. package/dist/layout/base/BasePlotLayout.svelte +115 -50
  9. package/dist/layout/base/BasePlotLayout.svelte.d.ts +1 -38
  10. package/dist/layout/coordinates/CoordinatesLayout.svelte +42 -40
  11. package/dist/layout/coordinates/CoordinatesLayout.svelte.d.ts +0 -2
  12. package/dist/layout/coordinates/ProjectionZoom.svelte +48 -0
  13. package/dist/layout/coordinates/ProjectionZoom.svelte.d.ts +10 -0
  14. package/dist/layout/coordinates/ZoomedProjection.d.ts +11 -0
  15. package/dist/layout/coordinates/ZoomedProjection.js +24 -0
  16. package/dist/layout/coordinates/camera.svelte.js +11 -8
  17. package/dist/layout/coordinates/projections/argentina.js +1 -1
  18. package/dist/layout/coordinates/projections/fit.d.ts +1 -1
  19. package/dist/layout/coordinates/projections/fit.js +1 -1
  20. package/dist/layout/coordinates/zoom.svelte.d.ts +4 -5
  21. package/dist/layout/coordinates/zoom.svelte.js +4 -5
  22. package/dist/layout/facet/FacetLayout.svelte +1 -1
  23. package/dist/layout/facet/config.js +1 -1
  24. package/dist/layout/facet/scope.d.ts +40 -0
  25. package/dist/layout/facet/scope.js +104 -0
  26. package/dist/layout/figure/Figure.svelte +2 -0
  27. package/dist/layout/geometry/GeometryLayout.svelte +14 -9
  28. package/dist/layout/geometry/GeometryLayout.svelte.d.ts +0 -3
  29. package/dist/layout/geometry/MarkerOffset.svelte +28 -0
  30. package/dist/layout/geometry/MarkerOffset.svelte.d.ts +13 -0
  31. package/dist/layout/grid/GridCell.svelte +6 -8
  32. package/dist/layout/legend/ContinuousSection.svelte +44 -9
  33. package/dist/layout/legend/DiscreteBadgeItem.svelte +2 -2
  34. package/dist/layout/legend/DiscreteSection.svelte +2 -2
  35. package/dist/layout/legend/DiscreteSymbolIcon.svelte +39 -15
  36. package/dist/layout/legend/LegendChannels.js +36 -12
  37. package/dist/layout/legend/LegendLayout.svelte +9 -1
  38. package/dist/layout/legend/LegendState.svelte.d.ts +4 -0
  39. package/dist/layout/legend/LegendState.svelte.js +23 -8
  40. package/dist/layout/legend/SizeSection.svelte +1 -1
  41. package/dist/layout/margins/PlotMargins.svelte.d.ts +2 -5
  42. package/dist/layout/margins/PlotMargins.svelte.js +35 -8
  43. package/dist/layout/plot/Plot.svelte +22 -2
  44. package/dist/layout/plot/Slice.d.ts +5 -1
  45. package/dist/layout/plot/Slice.js +14 -4
  46. package/dist/layout/scales/NiceTicks.d.ts +3 -0
  47. package/dist/layout/scales/NiceTicks.js +4 -0
  48. package/dist/layout/scales/ScalesLayout.svelte +93 -7
  49. package/dist/layout/scales/ScalesLayout.svelte.d.ts +5 -0
  50. package/dist/layout/scales/SveltePlotScale.d.ts +2 -2
  51. package/dist/layout/scales/SveltePlotScale.js +13 -6
  52. package/dist/layout/scales/TickLabels.d.ts +32 -0
  53. package/dist/layout/scales/TickLabels.js +55 -0
  54. package/dist/layout/styles/StylesLayout.svelte +2 -2
  55. package/dist/layout/styles/ValueLabels.d.ts +33 -5
  56. package/dist/layout/styles/ValueLabels.js +80 -21
  57. package/dist/layout/timeline/TimelineLayout.svelte +1 -1
  58. package/dist/layout/tooltip/Tooltip.svelte +4 -4
  59. package/dist/layout/tooltip/Tooltip.svelte.d.ts +4 -4
  60. package/dist/layout/tooltip/TooltipState.svelte.js +1 -1
  61. package/dist/markers/MarkerKinds.d.ts +5 -0
  62. package/dist/markers/MarkerKinds.js +1 -0
  63. package/dist/markers/area/AreaMarker.svelte +15 -63
  64. package/dist/markers/arrow/ArrowMarker.svelte +51 -9
  65. package/dist/markers/bar/BarMarker.svelte +8 -4
  66. package/dist/markers/bollinger/BollingerMarker.svelte +33 -18
  67. package/dist/markers/box/BoxMarker.svelte +40 -9
  68. package/dist/markers/delta/Delta.d.ts +6 -1
  69. package/dist/markers/delta/Delta.js +16 -1
  70. package/dist/markers/delta/DeltaMarker.svelte +9 -87
  71. package/dist/markers/delta/DeltaPoint.svelte +97 -0
  72. package/dist/markers/delta/DeltaPoint.svelte.d.ts +29 -0
  73. package/dist/markers/dot/DotMarker.svelte +24 -27
  74. package/dist/markers/image/ImageMarker.svelte +17 -12
  75. package/dist/markers/inset/InsetMarker.svelte +2 -2
  76. package/dist/markers/line/LineMarker.svelte +1 -0
  77. package/dist/markers/link/LinkMarker.svelte +174 -29
  78. package/dist/markers/regression/RegressionMarker.svelte +16 -33
  79. package/dist/markers/rule/RuleMarker.svelte +14 -5
  80. package/dist/markers/text/Declutter.d.ts +4 -0
  81. package/dist/markers/text/Declutter.js +26 -11
  82. package/dist/markers/text/TextMarker.svelte +91 -48
  83. package/dist/markers/tick/TickMarker.svelte +27 -25
  84. package/dist/markers/utils/MarkerChannels.d.ts +24 -0
  85. package/dist/markers/utils/MarkerChannels.js +42 -7
  86. package/dist/markers/utils/RowOffset.d.ts +23 -0
  87. package/dist/markers/utils/RowOffset.js +23 -0
  88. package/dist/markers/utils/RowOffsetMarks.svelte +30 -0
  89. package/dist/markers/utils/RowOffsetMarks.svelte.d.ts +33 -0
  90. package/dist/markers/utils/RowStroke.d.ts +31 -0
  91. package/dist/markers/utils/RowStroke.js +28 -0
  92. package/dist/markers/violin/ViolinMarker.svelte +75 -0
  93. package/dist/markers/violin/ViolinMarker.svelte.d.ts +7 -0
  94. package/dist/markers/violin/ViolinProfiles.d.ts +29 -0
  95. package/dist/markers/violin/ViolinProfiles.js +55 -0
  96. package/dist/markers/waffle/WaffleMarker.svelte +17 -37
  97. package/dist/phases/Pipeline.d.ts +5 -0
  98. package/dist/phases/Pipeline.js +5 -0
  99. package/dist/phases/data/DataPhase.js +3 -3
  100. package/dist/phases/data/PlotAxes.d.ts +10 -0
  101. package/dist/phases/data/PlotAxes.js +14 -1
  102. package/dist/phases/facet/FacetPanels.d.ts +1 -0
  103. package/dist/phases/facet/FacetPanels.js +1 -0
  104. package/dist/phases/facet/FacetPhase.d.ts +2 -1
  105. package/dist/phases/facet/FacetPhase.js +19 -4
  106. package/dist/phases/mapping/MappingPhase.js +1 -1
  107. package/dist/phases/markers/MarkersPhase.js +2 -1
  108. package/dist/phases/scales/CategoryOrder.d.ts +23 -0
  109. package/dist/phases/scales/CategoryOrder.js +73 -0
  110. package/dist/phases/scales/ScalesPhase.js +21 -7
  111. package/dist/phases/sharedScales/SharedScalesPhase.d.ts +3 -2
  112. package/dist/phases/sharedScales/SharedScalesPhase.js +5 -2
  113. package/dist/phases/statistics/Statistics.d.ts +10 -6
  114. package/dist/phases/statistics/Statistics.js +20 -10
  115. package/dist/phases/statistics/StatisticsPhase.js +16 -3
  116. package/dist/phases/statistics/methods/BollingerStatistic.d.ts +1 -1
  117. package/dist/phases/statistics/methods/BollingerStatistic.js +13 -11
  118. package/dist/phases/statistics/methods/BoxStatistic.d.ts +1 -1
  119. package/dist/phases/statistics/methods/BoxStatistic.js +14 -12
  120. package/dist/phases/statistics/methods/Density2dStatistic.d.ts +1 -1
  121. package/dist/phases/statistics/methods/Density2dStatistic.js +13 -11
  122. package/dist/phases/statistics/methods/DensityStatistic.d.ts +1 -1
  123. package/dist/phases/statistics/methods/DensityStatistic.js +11 -9
  124. package/dist/phases/statistics/methods/DeviationStatistic.d.ts +8 -0
  125. package/dist/phases/statistics/methods/DeviationStatistic.js +111 -0
  126. package/dist/phases/statistics/methods/MovingAverageStatistic.d.ts +1 -1
  127. package/dist/phases/statistics/methods/MovingAverageStatistic.js +11 -9
  128. package/dist/phases/statistics/methods/RegressionStatistic.d.ts +1 -1
  129. package/dist/phases/statistics/methods/RegressionStatistic.js +16 -14
  130. package/dist/phases/transforms/ProcessedPositions.js +1 -1
  131. package/dist/phases/transforms/TransformsPhase.js +49 -3
  132. package/dist/phases/transforms/ValueSelection.d.ts +30 -0
  133. package/dist/phases/transforms/ValueSelection.js +53 -0
  134. package/dist/plots/{heatmap → correlation/heatmap}/Plot.svelte +5 -2
  135. package/dist/plots/{heatmap → correlation/heatmap}/Plot.svelte.d.ts +2 -2
  136. package/dist/plots/{heatmap → correlation/heatmap}/defaults.d.ts +2 -2
  137. package/dist/plots/{heatmap → correlation/heatmap}/defaults.js +5 -5
  138. package/dist/plots/{heatmap → correlation/heatmap}/markers.d.ts +4 -4
  139. package/dist/plots/{heatmap → correlation/heatmap}/markers.js +3 -3
  140. package/dist/plots/{scatter → correlation/scatter}/Plot.svelte +5 -2
  141. package/dist/plots/{scatter → correlation/scatter}/Plot.svelte.d.ts +2 -2
  142. package/dist/plots/{scatter → correlation/scatter}/defaults.d.ts +2 -2
  143. package/dist/plots/{scatter → correlation/scatter}/defaults.js +4 -4
  144. package/dist/plots/{scatter → correlation/scatter}/markers.d.ts +4 -4
  145. package/dist/plots/{scatter → correlation/scatter}/markers.js +3 -3
  146. package/dist/plots/{box → distribution/box}/BoxSummaries.d.ts +2 -2
  147. package/dist/plots/{box → distribution/box}/BoxSummaries.js +6 -6
  148. package/dist/plots/{box → distribution/box}/Plot.svelte +2 -2
  149. package/dist/plots/{box → distribution/box}/Plot.svelte.d.ts +2 -2
  150. package/dist/plots/{box → distribution/box}/defaults.d.ts +2 -2
  151. package/dist/plots/{box → distribution/box}/defaults.js +1 -1
  152. package/dist/plots/{box → distribution/box}/markers.d.ts +2 -2
  153. package/dist/plots/distribution/density/Plot.svelte +45 -0
  154. package/dist/plots/distribution/density/Plot.svelte.d.ts +26 -0
  155. package/dist/plots/distribution/density/defaults.d.ts +9 -0
  156. package/dist/plots/distribution/density/defaults.js +29 -0
  157. package/dist/plots/distribution/density/markers.d.ts +9 -0
  158. package/dist/plots/distribution/density/markers.js +42 -0
  159. package/dist/plots/{histogram → distribution/histogram}/Plot.svelte +2 -2
  160. package/dist/plots/{histogram → distribution/histogram}/Plot.svelte.d.ts +2 -2
  161. package/dist/plots/{histogram → distribution/histogram}/defaults.d.ts +2 -2
  162. package/dist/plots/{histogram → distribution/histogram}/defaults.js +3 -3
  163. package/dist/plots/{histogram → distribution/histogram}/markers.d.ts +3 -3
  164. package/dist/plots/{histogram → distribution/histogram}/markers.js +5 -5
  165. package/dist/plots/{pyramid → distribution/pyramid}/Plot.svelte +5 -2
  166. package/dist/plots/{pyramid → distribution/pyramid}/Plot.svelte.d.ts +2 -2
  167. package/dist/plots/{pyramid → distribution/pyramid}/defaults.d.ts +2 -2
  168. package/dist/plots/{pyramid → distribution/pyramid}/defaults.js +6 -6
  169. package/dist/plots/{pyramid → distribution/pyramid}/markers.d.ts +4 -4
  170. package/dist/plots/{pyramid → distribution/pyramid}/markers.js +6 -6
  171. package/dist/plots/distribution/violin/Plot.svelte +45 -0
  172. package/dist/plots/distribution/violin/Plot.svelte.d.ts +26 -0
  173. package/dist/plots/distribution/violin/defaults.d.ts +10 -0
  174. package/dist/plots/distribution/violin/defaults.js +58 -0
  175. package/dist/plots/distribution/violin/markers.d.ts +10 -0
  176. package/dist/plots/distribution/violin/markers.js +71 -0
  177. package/dist/plots/{area → evolution/area}/Plot.svelte +2 -2
  178. package/dist/plots/{area → evolution/area}/Plot.svelte.d.ts +2 -2
  179. package/dist/plots/{area → evolution/area}/defaults.d.ts +2 -2
  180. package/dist/plots/{area → evolution/area}/defaults.js +2 -0
  181. package/dist/plots/{area → evolution/area}/markers.d.ts +2 -2
  182. package/dist/plots/{area → evolution/area}/markers.js +1 -1
  183. package/dist/plots/{line → evolution/line}/Plot.svelte +2 -2
  184. package/dist/plots/{line → evolution/line}/Plot.svelte.d.ts +2 -2
  185. package/dist/plots/{line → evolution/line}/defaults.d.ts +2 -2
  186. package/dist/plots/{line → evolution/line}/defaults.js +2 -0
  187. package/dist/plots/{line → evolution/line}/markers.d.ts +11 -8
  188. package/dist/plots/{line → evolution/line}/markers.js +6 -4
  189. package/dist/plots/evolution/slope/Plot.svelte +42 -0
  190. package/dist/plots/evolution/slope/Plot.svelte.d.ts +26 -0
  191. package/dist/plots/evolution/slope/defaults.d.ts +8 -0
  192. package/dist/plots/evolution/slope/defaults.js +31 -0
  193. package/dist/plots/evolution/slope/markers.d.ts +16 -0
  194. package/dist/plots/evolution/slope/markers.js +79 -0
  195. package/dist/plots/evolution/sparkline/Plot.svelte +45 -0
  196. package/dist/plots/evolution/sparkline/Plot.svelte.d.ts +26 -0
  197. package/dist/plots/evolution/sparkline/defaults.d.ts +7 -0
  198. package/dist/plots/evolution/sparkline/defaults.js +23 -0
  199. package/dist/plots/evolution/sparkline/markers.d.ts +7 -0
  200. package/dist/plots/evolution/sparkline/markers.js +56 -0
  201. package/dist/plots/{geo → map/geo}/Core.svelte +11 -10
  202. package/dist/plots/{geo → map/geo}/Core.svelte.d.ts +1 -1
  203. package/dist/plots/map/geo/GeoFeatures.svelte.d.ts +9 -0
  204. package/dist/plots/map/geo/GeoFeatures.svelte.js +55 -0
  205. package/dist/plots/map/geo/GeoGeometry.d.ts +27 -0
  206. package/dist/plots/map/geo/GeoGeometry.js +142 -0
  207. package/dist/plots/map/geo/GeoSegments.d.ts +16 -0
  208. package/dist/plots/map/geo/GeoSegments.js +23 -0
  209. package/dist/plots/{geo → map/geo}/Plot.svelte +10 -10
  210. package/dist/plots/{geo → map/geo}/Plot.svelte.d.ts +2 -2
  211. package/dist/plots/{geo → map/geo}/defaults.d.ts +2 -2
  212. package/dist/plots/{geo → map/geo}/defaults.js +1 -1
  213. package/dist/plots/{geo → map/geo}/phases/data.d.ts +1 -1
  214. package/dist/plots/{geo → map/geo}/phases/data.js +7 -6
  215. package/dist/plots/{geo → map/geo}/phases/hover.d.ts +1 -1
  216. package/dist/plots/{geo → map/geo}/phases/hover.js +2 -2
  217. package/dist/plots/{geo → map/geo}/phases/markers.d.ts +1 -1
  218. package/dist/plots/{geo → map/geo}/phases/markers.js +6 -10
  219. package/dist/plots/{geo → map/geo}/phases/scales.d.ts +2 -2
  220. package/dist/plots/{geo → map/geo}/phases/scales.js +28 -12
  221. package/dist/plots/{geo → map/geo}/phases/tooltip.d.ts +1 -1
  222. package/dist/plots/map/geo/phases/tooltip.js +5 -0
  223. package/dist/plots/{geo → map/geo}/slices.d.ts +2 -2
  224. package/dist/plots/{geo → map/geo}/slices.js +2 -2
  225. package/dist/plots/{bar → ranking/bar}/Plot.svelte +2 -2
  226. package/dist/plots/{bar → ranking/bar}/Plot.svelte.d.ts +2 -2
  227. package/dist/plots/ranking/bar/defaults.d.ts +16 -0
  228. package/dist/plots/{bar → ranking/bar}/defaults.js +15 -9
  229. package/dist/plots/{bar → ranking/bar}/markers.d.ts +8 -8
  230. package/dist/plots/{bar → ranking/bar}/markers.js +8 -17
  231. package/dist/plots/ranking/bullet/Plot.svelte +42 -0
  232. package/dist/plots/ranking/bullet/Plot.svelte.d.ts +26 -0
  233. package/dist/plots/ranking/bullet/defaults.d.ts +8 -0
  234. package/dist/plots/ranking/bullet/defaults.js +24 -0
  235. package/dist/plots/ranking/bullet/markers.d.ts +10 -0
  236. package/dist/plots/ranking/bullet/markers.js +90 -0
  237. package/dist/plots/ranking/cleveland/ClevelandConnector.d.ts +48 -0
  238. package/dist/plots/ranking/cleveland/ClevelandConnector.js +140 -0
  239. package/dist/plots/ranking/cleveland/ClevelandMarkers.d.ts +33 -0
  240. package/dist/plots/ranking/cleveland/ClevelandMarkers.js +375 -0
  241. package/dist/plots/ranking/cleveland/ClevelandRanges.d.ts +31 -0
  242. package/dist/plots/ranking/cleveland/ClevelandRanges.js +116 -0
  243. package/dist/plots/ranking/cleveland/Plot.svelte +45 -0
  244. package/dist/plots/ranking/cleveland/Plot.svelte.d.ts +26 -0
  245. package/dist/plots/ranking/cleveland/defaults.d.ts +13 -0
  246. package/dist/plots/ranking/cleveland/defaults.js +66 -0
  247. package/dist/plots/ranking/dumbbell/Plot.svelte +45 -0
  248. package/dist/plots/ranking/dumbbell/Plot.svelte.d.ts +26 -0
  249. package/dist/plots/ranking/dumbbell/defaults.d.ts +9 -0
  250. package/dist/plots/ranking/dumbbell/defaults.js +19 -0
  251. package/dist/plots/ranking/forest/Plot.svelte +42 -0
  252. package/dist/plots/ranking/forest/Plot.svelte.d.ts +26 -0
  253. package/dist/plots/ranking/forest/defaults.d.ts +11 -0
  254. package/dist/plots/ranking/forest/defaults.js +20 -0
  255. package/dist/plots/ranking/lollipop/Plot.svelte +45 -0
  256. package/dist/plots/ranking/lollipop/Plot.svelte.d.ts +26 -0
  257. package/dist/plots/ranking/lollipop/defaults.d.ts +9 -0
  258. package/dist/plots/ranking/lollipop/defaults.js +18 -0
  259. package/dist/plots/utils/RowNumbers.d.ts +16 -0
  260. package/dist/plots/utils/RowNumbers.js +24 -0
  261. package/dist/plots/utils/gaps.js +1 -1
  262. package/dist/plots/utils/segments.d.ts +4 -1
  263. package/dist/plots/utils/segments.js +20 -7
  264. package/dist/types/configuration/styling.d.ts +284 -143
  265. package/dist/types/layout/coordinates.d.ts +5 -4
  266. package/dist/types/layout/facet.d.ts +18 -0
  267. package/dist/types/layout/legend.d.ts +23 -5
  268. package/dist/types/layout/plot.d.ts +46 -1
  269. package/dist/types/layout/scales.d.ts +39 -7
  270. package/dist/types/layout/statistics/deviation.d.ts +40 -0
  271. package/dist/types/layout/statistics/index.d.ts +7 -2
  272. package/dist/types/layout/styles/base.d.ts +18 -0
  273. package/dist/types/layout/styles/bullet.d.ts +25 -0
  274. package/dist/types/layout/styles/connector.d.ts +98 -0
  275. package/dist/types/layout/styles/curve.d.ts +11 -0
  276. package/dist/types/layout/styles/frame.d.ts +17 -0
  277. package/dist/types/layout/styles/gaps.d.ts +12 -0
  278. package/dist/types/layout/styles/geo.d.ts +55 -0
  279. package/dist/types/layout/styles/index.d.ts +8 -0
  280. package/dist/types/layout/styles/index.js +8 -0
  281. package/dist/types/layout/styles/values.d.ts +47 -0
  282. package/dist/types/layout/timeline.d.ts +5 -2
  283. package/dist/types/layout/tooltip.d.ts +6 -2
  284. package/dist/types/markers/axis/area.d.ts +2 -2
  285. package/dist/types/markers/axis/arrow.d.ts +3 -0
  286. package/dist/types/markers/axis/axisBasedMarkersConfig.d.ts +2 -1
  287. package/dist/types/markers/axis/bar.d.ts +1 -1
  288. package/dist/types/markers/axis/box.d.ts +5 -0
  289. package/dist/types/markers/axis/delta.d.ts +15 -2
  290. package/dist/types/markers/axis/difference.d.ts +2 -2
  291. package/dist/types/markers/axis/image.d.ts +3 -2
  292. package/dist/types/markers/axis/line.d.ts +2 -0
  293. package/dist/types/markers/axis/rule.d.ts +18 -2
  294. package/dist/types/markers/axis/trail.d.ts +2 -3
  295. package/dist/types/markers/axis/violin.d.ts +25 -0
  296. package/dist/types/markers/basic/dot.d.ts +3 -2
  297. package/dist/types/markers/basic/text.d.ts +13 -3
  298. package/dist/types/markers/channels/commonMarkerConfig.d.ts +7 -3
  299. package/dist/types/markers/channels/commonMarkerConfigWithRowOffset.d.ts +13 -0
  300. package/dist/types/markers/common.d.ts +1 -1
  301. package/dist/types/markers/common.js +1 -0
  302. package/dist/types/markers/geo/link.d.ts +5 -1
  303. package/dist/types/phases/facet/phase.d.ts +4 -0
  304. package/dist/types/phases/index.d.ts +1 -1
  305. package/dist/types/phases/scales/phase.d.ts +5 -1
  306. package/dist/types/phases/state.d.ts +15 -2
  307. package/dist/types/phases/statistics/source.d.ts +3 -1
  308. package/dist/types/phases/transforms/phase.d.ts +22 -0
  309. package/dist/types/plots/{heatmap → correlation/heatmap}/props.d.ts +6 -6
  310. package/dist/types/plots/{heatmap → correlation/heatmap}/state.d.ts +4 -4
  311. package/dist/types/plots/{scatter → correlation/scatter}/props.d.ts +6 -6
  312. package/dist/types/plots/{scatter → correlation/scatter}/state.d.ts +2 -2
  313. package/dist/types/plots/{box → distribution/box}/props.d.ts +6 -6
  314. package/dist/types/plots/{box → distribution/box}/state.d.ts +3 -3
  315. package/dist/types/plots/distribution/density/props.d.ts +23 -0
  316. package/dist/types/plots/distribution/density/state.d.ts +6 -0
  317. package/dist/types/plots/{histogram → distribution/histogram}/props.d.ts +7 -7
  318. package/dist/types/plots/{histogram → distribution/histogram}/state.d.ts +2 -2
  319. package/dist/types/plots/distribution/histogram/state.js +1 -0
  320. package/dist/types/plots/{pyramid → distribution/pyramid}/props.d.ts +6 -6
  321. package/dist/types/plots/distribution/pyramid/props.js +1 -0
  322. package/dist/types/plots/{pyramid → distribution/pyramid}/state.d.ts +3 -3
  323. package/dist/types/plots/distribution/pyramid/state.js +1 -0
  324. package/dist/types/plots/distribution/violin/props.d.ts +23 -0
  325. package/dist/types/plots/distribution/violin/props.js +1 -0
  326. package/dist/types/plots/distribution/violin/state.d.ts +6 -0
  327. package/dist/types/plots/distribution/violin/state.js +1 -0
  328. package/dist/types/plots/{area → evolution/area}/props.d.ts +6 -6
  329. package/dist/types/plots/evolution/area/props.js +1 -0
  330. package/dist/types/plots/{area → evolution/area}/state.d.ts +2 -2
  331. package/dist/types/plots/evolution/area/state.js +1 -0
  332. package/dist/types/plots/evolution/line/props.d.ts +10 -0
  333. package/dist/types/plots/evolution/line/props.js +1 -0
  334. package/dist/types/plots/{line → evolution/line}/state.d.ts +3 -3
  335. package/dist/types/plots/evolution/line/state.js +1 -0
  336. package/dist/types/plots/evolution/slope/props.d.ts +5 -0
  337. package/dist/types/plots/evolution/slope/props.js +1 -0
  338. package/dist/types/plots/evolution/slope/state.d.ts +5 -0
  339. package/dist/types/plots/evolution/slope/state.js +1 -0
  340. package/dist/types/plots/evolution/sparkline/props.d.ts +5 -0
  341. package/dist/types/plots/evolution/sparkline/props.js +1 -0
  342. package/dist/types/plots/evolution/sparkline/state.d.ts +5 -0
  343. package/dist/types/plots/evolution/sparkline/state.js +1 -0
  344. package/dist/types/plots/{geo → map/geo}/props.d.ts +8 -8
  345. package/dist/types/plots/map/geo/props.js +1 -0
  346. package/dist/types/plots/{geo → map/geo}/state.d.ts +18 -11
  347. package/dist/types/plots/map/geo/state.js +1 -0
  348. package/dist/types/plots/props.d.ts +7 -4
  349. package/dist/types/plots/{bar → ranking/bar}/props.d.ts +6 -6
  350. package/dist/types/plots/ranking/bar/props.js +1 -0
  351. package/dist/types/plots/{bar → ranking/bar}/state.d.ts +2 -2
  352. package/dist/types/plots/ranking/bar/state.js +1 -0
  353. package/dist/types/plots/ranking/bullet/props.d.ts +22 -0
  354. package/dist/types/plots/ranking/bullet/props.js +1 -0
  355. package/dist/types/plots/ranking/bullet/state.d.ts +5 -0
  356. package/dist/types/plots/ranking/bullet/state.js +1 -0
  357. package/dist/types/plots/ranking/cleveland/props.d.ts +10 -0
  358. package/dist/types/plots/ranking/cleveland/props.js +1 -0
  359. package/dist/types/plots/ranking/cleveland/state.d.ts +49 -0
  360. package/dist/types/plots/ranking/cleveland/state.js +1 -0
  361. package/dist/types/plots/ranking/dumbbell/props.d.ts +10 -0
  362. package/dist/types/plots/ranking/dumbbell/props.js +1 -0
  363. package/dist/types/plots/ranking/dumbbell/state.d.ts +5 -0
  364. package/dist/types/plots/ranking/dumbbell/state.js +1 -0
  365. package/dist/types/plots/ranking/forest/props.d.ts +23 -0
  366. package/dist/types/plots/ranking/forest/props.js +1 -0
  367. package/dist/types/plots/ranking/forest/state.d.ts +5 -0
  368. package/dist/types/plots/ranking/forest/state.js +1 -0
  369. package/dist/types/plots/ranking/lollipop/props.d.ts +10 -0
  370. package/dist/types/plots/ranking/lollipop/props.js +1 -0
  371. package/dist/types/plots/ranking/lollipop/state.d.ts +5 -0
  372. package/dist/types/plots/ranking/lollipop/state.js +1 -0
  373. package/dist/types/plots/segments/common.d.ts +4 -1
  374. package/dist/types/plots/segments/config.d.ts +4 -2
  375. package/dist/utils/OpacityScale.d.ts +14 -0
  376. package/dist/utils/OpacityScale.js +43 -0
  377. package/dist/utils/{symbol.d.ts → SymbolPath.d.ts} +0 -12
  378. package/dist/utils/{symbol.js → SymbolPath.js} +0 -24
  379. package/dist/utils/SymbolScale.d.ts +18 -0
  380. package/dist/utils/SymbolScale.js +29 -0
  381. package/dist/utils/color/ColorRamp.d.ts +27 -0
  382. package/dist/utils/color/ColorRamp.js +120 -0
  383. package/dist/utils/color/CssColor.d.ts +19 -0
  384. package/dist/utils/color/CssColor.js +114 -0
  385. package/dist/utils/color/Palette.d.ts +21 -0
  386. package/dist/utils/color/Palette.js +52 -0
  387. package/dist/utils/color/index.d.ts +11 -3
  388. package/dist/utils/color/index.js +14 -3
  389. package/dist/utils/grouping.js +1 -1
  390. package/docs/architecture.md +1 -1
  391. package/docs/chrome.md +2 -2
  392. package/docs/composer.md +2 -2
  393. package/docs/concepts.md +1 -1
  394. package/docs/development.md +1 -1
  395. package/docs/facets.md +50 -3
  396. package/docs/getting-started.md +2 -2
  397. package/docs/legend.md +13 -11
  398. package/docs/markers.md +57 -27
  399. package/docs/plots/correlation/heatmap.md +26 -0
  400. package/docs/plots/correlation/scatter.md +35 -0
  401. package/docs/plots/distribution/box.md +28 -0
  402. package/docs/plots/distribution/density.md +26 -0
  403. package/docs/plots/distribution/histogram.md +33 -0
  404. package/docs/plots/distribution/pyramid.md +31 -0
  405. package/docs/plots/distribution/violin.md +35 -0
  406. package/docs/plots/evolution/area.md +32 -0
  407. package/docs/plots/evolution/line.md +93 -0
  408. package/docs/plots/evolution/slope.md +39 -0
  409. package/docs/plots/evolution/sparkline.md +34 -0
  410. package/docs/plots/ranking/bar.md +59 -0
  411. package/docs/plots/ranking/bullet.md +37 -0
  412. package/docs/plots/ranking/cleveland.md +54 -0
  413. package/docs/plots/ranking/dumbbell.md +39 -0
  414. package/docs/plots/ranking/forest.md +40 -0
  415. package/docs/plots/ranking/lollipop.md +39 -0
  416. package/docs/plots.md +22 -280
  417. package/docs/scales.md +30 -24
  418. package/docs/styles-and-segments.md +25 -21
  419. package/docs/theming.md +23 -20
  420. package/docs/timeline.md +3 -3
  421. package/docs/tooltip-and-hover.md +10 -10
  422. package/docs/transforms-and-statistics.md +13 -12
  423. package/examples/BarValues.svelte +1 -1
  424. package/examples/Box.svelte +1 -1
  425. package/examples/Bullet.svelte +17 -0
  426. package/examples/Chrome.svelte +1 -1
  427. package/examples/ChromeOrder.svelte +1 -1
  428. package/examples/Cleveland.svelte +15 -0
  429. package/examples/Composer.svelte +2 -2
  430. package/examples/CustomTooltip.svelte +1 -1
  431. package/examples/Density.svelte +7 -0
  432. package/examples/Dumbbell.svelte +16 -0
  433. package/examples/Facets.svelte +1 -1
  434. package/examples/FacetsCarousel.svelte +1 -1
  435. package/examples/FacetsRowsCols.svelte +1 -1
  436. package/examples/FacetsScoped.svelte +26 -0
  437. package/examples/FirstPlot.svelte +1 -1
  438. package/examples/Forest.svelte +17 -0
  439. package/examples/Gaps.svelte +2 -2
  440. package/examples/GroupedBars.svelte +1 -1
  441. package/examples/Heatmap.svelte +3 -3
  442. package/examples/HeatmapSegments.svelte +8 -8
  443. package/examples/Histogram.svelte +1 -1
  444. package/examples/HorizontalBars.svelte +1 -1
  445. package/examples/LegendSections.svelte +1 -1
  446. package/examples/LegendToggle.svelte +1 -1
  447. package/examples/LineByRegion.svelte +1 -1
  448. package/examples/LineDates.svelte +1 -1
  449. package/examples/LineStep.svelte +16 -0
  450. package/examples/LineStepSegment.svelte +18 -0
  451. package/examples/Lollipop.svelte +17 -0
  452. package/examples/Markers.svelte +1 -1
  453. package/examples/MovingAverage.svelte +1 -1
  454. package/examples/Pyramid.svelte +9 -2
  455. package/examples/Regression.svelte +2 -2
  456. package/examples/ResponsiveLine.svelte +1 -1
  457. package/examples/Scales.svelte +1 -1
  458. package/examples/Scatter.svelte +2 -2
  459. package/examples/SegmentHighlight.svelte +1 -1
  460. package/examples/Segments.svelte +1 -1
  461. package/examples/SegmentsBySeries.svelte +1 -1
  462. package/examples/Slope.svelte +17 -0
  463. package/examples/Sparkline.svelte +14 -0
  464. package/examples/StackedArea.svelte +1 -1
  465. package/examples/StackedBars.svelte +1 -1
  466. package/examples/TimelinePlayer.svelte +1 -1
  467. package/examples/TimelineRule.svelte +1 -1
  468. package/examples/Tooltip.svelte +1 -1
  469. package/examples/ValueLabels.svelte +1 -1
  470. package/examples/Violin.svelte +14 -0
  471. package/examples/datasets/argentina-chile-trends.ts +34 -0
  472. package/examples/datasets/commodity-prices.ts +48 -0
  473. package/examples/datasets/countries-over-time.ts +368 -0
  474. package/examples/datasets/daily-temperature.ts +121 -0
  475. package/examples/datasets/earthquakes.ts +977 -0
  476. package/examples/datasets/flight-routes.ts +29 -0
  477. package/examples/datasets/height-density.ts +37 -0
  478. package/examples/datasets/heights.ts +370 -0
  479. package/examples/datasets/index.ts +24 -0
  480. package/examples/datasets/inflation-by-region.ts +44 -0
  481. package/examples/datasets/inflation-ranges.ts +34 -0
  482. package/examples/datasets/iris-flower.ts +207 -0
  483. package/examples/datasets/life-expectancy.ts +95 -0
  484. package/examples/datasets/napoleons-march.ts +182 -0
  485. package/examples/datasets/penguins.ts +54 -0
  486. package/examples/datasets/population-by-age-with-gaps.ts +23 -0
  487. package/examples/datasets/population-by-age.ts +890 -0
  488. package/examples/datasets/province-population.ts +521 -0
  489. package/examples/datasets/stock-prices.ts +63 -0
  490. package/examples/datasets/weather-stations-over-time.ts +31 -0
  491. package/examples/datasets/weather-stations.ts +22 -0
  492. package/examples/datasets/wind-vectors.ts +30 -0
  493. package/examples/datasets/world-temperature.ts +400 -0
  494. package/llms-full.txt +27 -14
  495. package/llms.txt +33 -4
  496. package/package.json +10 -1
  497. package/dist/plots/bar/defaults.d.ts +0 -9
  498. package/dist/plots/geo/features.svelte.d.ts +0 -5
  499. package/dist/plots/geo/features.svelte.js +0 -44
  500. package/dist/plots/geo/phases/tooltip.js +0 -5
  501. package/dist/plots/utils/geoAccessors.d.ts +0 -72
  502. package/dist/plots/utils/geoAccessors.js +0 -220
  503. package/dist/plots/utils/geoSegments.d.ts +0 -29
  504. package/dist/plots/utils/geoSegments.js +0 -37
  505. package/dist/types/layout/styles.d.ts +0 -122
  506. package/dist/types/markers/axis/curveName.d.ts +0 -2
  507. package/dist/types/plots/line/props.d.ts +0 -10
  508. package/dist/utils/color/contrast.d.ts +0 -9
  509. package/dist/utils/color/contrast.js +0 -40
  510. package/dist/utils/color/cssColor.d.ts +0 -4
  511. package/dist/utils/color/cssColor.js +0 -77
  512. package/dist/utils/color/ramp.d.ts +0 -17
  513. package/dist/utils/color/ramp.js +0 -110
  514. package/dist/utils/opacity.d.ts +0 -9
  515. package/dist/utils/opacity.js +0 -38
  516. package/examples/data.ts +0 -324
  517. /package/dist/plots/{box → distribution/box}/markers.js +0 -0
  518. /package/dist/types/layout/{styles.js → statistics/deviation.js} +0 -0
  519. /package/dist/types/{markers/axis/curveName.js → layout/styles/base.js} +0 -0
  520. /package/dist/types/{plots/area/props.js → layout/styles/bullet.js} +0 -0
  521. /package/dist/types/{plots/area/state.js → layout/styles/connector.js} +0 -0
  522. /package/dist/types/{plots/bar/props.js → layout/styles/curve.js} +0 -0
  523. /package/dist/types/{plots/bar/state.js → layout/styles/frame.js} +0 -0
  524. /package/dist/types/{plots/box/props.js → layout/styles/gaps.js} +0 -0
  525. /package/dist/types/{plots/box/state.js → layout/styles/geo.js} +0 -0
  526. /package/dist/types/{plots/geo/props.js → layout/styles/values.js} +0 -0
  527. /package/dist/types/{plots/geo/state.js → markers/axis/violin.js} +0 -0
  528. /package/dist/types/{plots/heatmap/props.js → markers/channels/commonMarkerConfigWithRowOffset.js} +0 -0
  529. /package/dist/types/plots/{histogram → correlation/heatmap}/props.js +0 -0
  530. /package/dist/types/plots/{heatmap → correlation/heatmap}/state.js +0 -0
  531. /package/dist/types/plots/{line → correlation/scatter}/props.js +0 -0
  532. /package/dist/types/plots/{histogram → correlation/scatter}/state.js +0 -0
  533. /package/dist/types/plots/{pyramid → distribution/box}/props.js +0 -0
  534. /package/dist/types/plots/{line → distribution/box}/state.js +0 -0
  535. /package/dist/types/plots/{scatter → distribution/density}/props.js +0 -0
  536. /package/dist/types/plots/{pyramid → distribution/density}/state.js +0 -0
  537. /package/dist/types/plots/{scatter/state.js → distribution/histogram/props.js} +0 -0
  538. /package/dist/{plots/utils → utils}/accessors.d.ts +0 -0
  539. /package/dist/{plots/utils → utils}/accessors.js +0 -0
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 './data';
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 them to each step |
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 './data';
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 './data';
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, and 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 |
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 './data';
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 './data';
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 './data';
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 { COUNTRIES } from './data';
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={COUNTRIES}
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
  ![A scatter plot with a regression line and confidence band](images/regression.png)
102
102
 
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) |
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 './data';
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. -->
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { BoxPlot } from '@fundar/data-chart-telling';
3
- import { HEIGHTS } from './data';
3
+ import { HEIGHTS } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- One box per group: quartiles, median, whiskers and outliers of each height distribution. -->
@@ -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
+ />
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { PRICES } from './data';
3
+ import { PRICES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- A plot carries its own chrome: title, subtitle, legend and caption. -->
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { PRICES } from './data';
3
+ import { PRICES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- `order` places the chrome blocks; `divider` draws a rule between them. -->
@@ -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
+ />
@@ -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, COUNTRIES } from './data';
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={COUNTRIES} x="gdp" y="life" />
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 './data';
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
+ />
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { REGION_VALUES } from './data';
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. -->
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { REGION_VALUES } from './data';
3
+ import { REGION_VALUES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- A carousel shows `visible` panels at a time, with navigation below. -->
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { REGION_VALUES } from './data';
3
+ import { REGION_VALUES } from './datasets';
4
4
 
5
5
  // Each region's value split into two sectors.
6
6
  const SECTORS = [
@@ -0,0 +1,26 @@
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. `facet` on a marker or a segment limits it to the panels it names: the rule is drawn in GBA only, and Services is dashed in Cuyo only. -->
16
+ <LinePlot
17
+ width={900}
18
+ height={360}
19
+ data={rows}
20
+ x="date"
21
+ y="value"
22
+ color="sector"
23
+ facet={{ by: 'region', columns: 3 }}
24
+ markers={[{ type: 'rule', axis: 'y', value: 10, facet: 'GBA' }]}
25
+ segments={{ Services: [{ facet: 'Cuyo', styles: { stroke: { strokeDasharray: '4 4' } } }] }}
26
+ />
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { REGION_VALUES } from './data';
3
+ import { REGION_VALUES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- The smallest useful plot: rows, the fields to map and a pixel size. -->
@@ -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
+ />
@@ -1,13 +1,13 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { LIFE_GAPS } from './data';
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: LIFE_GAPS }]}
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: {
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { BarPlot } from '@fundar/data-chart-telling';
3
- import { PROVINCE_VALUES } from './data';
3
+ import { PROVINCE_VALUES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- Vertical bars, grouped by `color`. -->
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { HeatmapPlot } from '@fundar/data-chart-telling';
3
- import { HOUSEHOLDS } from './data';
3
+ import { PENGUIN_COUNTS } from './datasets';
4
4
  </script>
5
5
 
6
- <!-- One cell per number of rooms and of people, colored by the share of households. -->
7
- <HeatmapPlot width={560} height={360} data={HOUSEHOLDS} x="rooms" y="people" color="share" />
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 { HOUSEHOLDS } from './data';
3
+ import { PENGUIN_COUNTS } from './datasets';
4
4
  </script>
5
5
 
6
- <!-- Segments on a heatmap: an outlined column and a filled block of overcrowded households. -->
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={HOUSEHOLDS}
11
- x="rooms"
12
- y="people"
13
- color="share"
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: '1', to: '1' } }],
17
+ areas: [{ x: { from: 'Biscoe', to: 'Biscoe' } }],
18
18
  styles: { stroke: '#f59e0b', strokeWidth: 2 }
19
19
  },
20
20
  {
21
- areas: [{ x: { from: '1', to: '2' }, y: { from: '4', to: '5+' } }],
21
+ areas: [{ x: { from: 'Dream', to: 'Torgersen' }, y: { from: 'Chinstrap', to: 'Gentoo' } }],
22
22
  styles: { fill: '#ef4444', fillOpacity: 0.8 }
23
23
  }
24
24
  ]
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { HistogramPlot } from '@fundar/data-chart-telling';
3
- import { HEIGHTS } from './data';
3
+ import { HEIGHTS } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- Two overlapping distributions, one per `grouping` value. -->
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { BarPlot } from '@fundar/data-chart-telling';
3
- import { PROVINCE_VALUES } from './data';
3
+ import { PROVINCE_VALUES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- Horizontal bars: the categories go on `y`, the values on `x`. -->
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { REGION_VALUES } from './data';
3
+ import { REGION_VALUES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- An explicit legend: a discrete section of toggles and a continuous ramp. -->
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { REGION_VALUES } from './data';
3
+ import { REGION_VALUES } from './datasets';
4
4
  import LegendReader from './LegendReader.svelte';
5
5
  </script>
6
6
 
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { REGION_VALUES } from './data';
3
+ import { REGION_VALUES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- One line per region, with a title, the automatic legend, end-of-line values and a tooltip. -->
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { PRICES } from './data';
3
+ import { PRICES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- A line per commodity over a date axis, with end-of-line labels. -->
@@ -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
+ />
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { LIFE } from './data';
3
+ import { LIFE } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- Markers add marks to a plot: a hover highlight, a reference rule and a delta between two series. -->
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { PRICES } from './data';
3
+ import { PRICES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- A 6-month moving average, run on the plot's rows. -->
@@ -1,7 +1,14 @@
1
1
  <script lang="ts">
2
2
  import { PyramidPlot } from '@fundar/data-chart-telling';
3
- import { AGES } from './data';
3
+ import { POPULATION_BY_AGE_AT_2022 } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- A population pyramid: one side per `color` value. -->
7
- <PyramidPlot width={720} height={400} data={AGES} x="share" y="ageGroup" color="sex" />
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
+ />
@@ -1,13 +1,13 @@
1
1
  <script lang="ts">
2
2
  import { ScatterPlot } from '@fundar/data-chart-telling';
3
- import { COUNTRIES } from './data';
3
+ import { COUNTRIES_AT_2007 } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- A linear regression with its 95% confidence band. -->
7
7
  <ScatterPlot
8
8
  width={720}
9
9
  height={400}
10
- data={COUNTRIES}
10
+ data={COUNTRIES_AT_2007}
11
11
  x="gdp"
12
12
  y="life"
13
13
  statistics={[{ type: 'regression', regressionType: 'linear', confidence: 0.95 }]}
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { REGION_VALUES } from './data';
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.
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { PRICES } from './data';
3
+ import { PRICES } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- Axis labels, a fixed domain with gridlines and a color per series. -->
@@ -1,13 +1,13 @@
1
1
  <script lang="ts">
2
2
  import { ScatterPlot } from '@fundar/data-chart-telling';
3
- import { COUNTRIES } from './data';
3
+ import { COUNTRIES_AT_2007 } from './datasets';
4
4
  </script>
5
5
 
6
6
  <!-- Points sized by `r`, colored by `color` and shaped by `symbol`. -->
7
7
  <ScatterPlot
8
8
  width={720}
9
9
  height={420}
10
- data={COUNTRIES}
10
+ data={COUNTRIES_AT_2007}
11
11
  x="gdp"
12
12
  y="life"
13
13
  r="population"
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { LinePlot } from '@fundar/data-chart-telling';
3
- import { REGION_VALUES } from './data';
3
+ import { REGION_VALUES } from './datasets';
4
4
 
5
5
  const gba = REGION_VALUES.filter((row) => row.region === 'GBA');
6
6
  </script>