@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
@@ -0,0 +1,30 @@
1
+ // ── Prevailing wind at Argentine cities, 2025 ────────────────────────
2
+ // Open-Meteo historical weather (ERA5 reanalysis, CC BY 4.0): over 2025, the
3
+ // mean of each day's strongest 10 m wind (`magnitude`, in km/h) and the
4
+ // direction that wind blows toward (`direction`, in degrees clockwise from
5
+ // north), as the speed-weighted average of the daily dominant directions.
6
+
7
+ export type WindVector = {
8
+ city: string;
9
+ lon: number;
10
+ lat: number;
11
+ magnitude: number;
12
+ direction: number;
13
+ };
14
+
15
+ export const WIND_VECTORS: WindVector[] = [
16
+ { city: 'Buenos Aires', lon: -58.4, lat: -34.6, magnitude: 16.2, direction: 257 },
17
+ { city: 'Córdoba', lon: -64.2, lat: -31.4, magnitude: 15.1, direction: 245 },
18
+ { city: 'Rosario', lon: -60.7, lat: -32.9, magnitude: 15.3, direction: 279 },
19
+ { city: 'Mendoza', lon: -68.8, lat: -32.9, magnitude: 14.1, direction: 9 },
20
+ { city: 'Tucumán', lon: -65.2, lat: -26.8, magnitude: 11.7, direction: 48 },
21
+ { city: 'Salta', lon: -65.4, lat: -24.8, magnitude: 11.5, direction: 219 },
22
+ { city: 'Resistencia', lon: -59.0, lat: -27.5, magnitude: 14.6, direction: 281 },
23
+ { city: 'Posadas', lon: -55.9, lat: -27.4, magnitude: 15.9, direction: 275 },
24
+ { city: 'Neuquén', lon: -68.1, lat: -38.9, magnitude: 20.7, direction: 64 },
25
+ { city: 'Mar del Plata', lon: -57.6, lat: -38.0, magnitude: 22.3, direction: 143 },
26
+ { city: 'Santa Rosa', lon: -64.3, lat: -36.6, magnitude: 19.4, direction: 214 },
27
+ { city: 'Comodoro Rivadavia', lon: -67.5, lat: -45.9, magnitude: 29.8, direction: 102 },
28
+ { city: 'Río Gallegos', lon: -69.2, lat: -51.6, magnitude: 32.6, direction: 97 },
29
+ { city: 'Ushuaia', lon: -68.3, lat: -54.8, magnitude: 19.2, direction: 127 }
30
+ ];
@@ -0,0 +1,400 @@
1
+ // ── World temperature, 2025 ─────────────────────────────────────────────────
2
+ // Open-Meteo historical weather (ERA5 reanalysis, CC BY 4.0): the mean
3
+ // temperature (°C) over 2025 at the points of a world grid, every 10 degrees
4
+ // of latitude from 80 S to 80 N and every 15 of longitude from 170 W to 170 E.
5
+
6
+ export type WorldTemperaturePoint = { lon: number; lat: number; tempC: number };
7
+
8
+ export const WORLD_TEMPERATURE: WorldTemperaturePoint[] = [
9
+ { lon: -170, lat: -80, tempC: -27.9 },
10
+ { lon: -155, lat: -80, tempC: -26.5 },
11
+ { lon: -140, lat: -80, tempC: -24.1 },
12
+ { lon: -125, lat: -80, tempC: -24.2 },
13
+ { lon: -110, lat: -80, tempC: -26.1 },
14
+ { lon: -95, lat: -80, tempC: -29.0 },
15
+ { lon: -80, lat: -80, tempC: -20.1 },
16
+ { lon: -65, lat: -80, tempC: -25.7 },
17
+ { lon: -50, lat: -80, tempC: -21.5 },
18
+ { lon: -35, lat: -80, tempC: -22.7 },
19
+ { lon: -20, lat: -80, tempC: -23.9 },
20
+ { lon: -5, lat: -80, tempC: -35.9 },
21
+ { lon: 10, lat: -80, tempC: -40.5 },
22
+ { lon: 25, lat: -80, tempC: -45.5 },
23
+ { lon: 40, lat: -80, tempC: -50.0 },
24
+ { lon: 55, lat: -80, tempC: -51.5 },
25
+ { lon: 70, lat: -80, tempC: -49.8 },
26
+ { lon: 85, lat: -80, tempC: -50.8 },
27
+ { lon: 100, lat: -80, tempC: -48.8 },
28
+ { lon: 115, lat: -80, tempC: -45.8 },
29
+ { lon: 130, lat: -80, tempC: -42.4 },
30
+ { lon: 145, lat: -80, tempC: -39.6 },
31
+ { lon: 160, lat: -80, tempC: -21.6 },
32
+ { lon: -170, lat: -70, tempC: -9.9 },
33
+ { lon: -155, lat: -70, tempC: -9.6 },
34
+ { lon: -140, lat: -70, tempC: -8.6 },
35
+ { lon: -125, lat: -70, tempC: -7.3 },
36
+ { lon: -110, lat: -70, tempC: -5.4 },
37
+ { lon: -95, lat: -70, tempC: -4.2 },
38
+ { lon: -80, lat: -70, tempC: -2.9 },
39
+ { lon: -65, lat: -70, tempC: -18.5 },
40
+ { lon: -50, lat: -70, tempC: -11.5 },
41
+ { lon: -35, lat: -70, tempC: -11.1 },
42
+ { lon: -20, lat: -70, tempC: -10.8 },
43
+ { lon: -5, lat: -70, tempC: -9.9 },
44
+ { lon: 10, lat: -70, tempC: -12.3 },
45
+ { lon: 25, lat: -70, tempC: -12.4 },
46
+ { lon: 40, lat: -70, tempC: -17.1 },
47
+ { lon: 55, lat: -70, tempC: -36.9 },
48
+ { lon: 70, lat: -70, tempC: -18.5 },
49
+ { lon: 85, lat: -70, tempC: -30.8 },
50
+ { lon: 100, lat: -70, tempC: -35.8 },
51
+ { lon: 115, lat: -70, tempC: -33.1 },
52
+ { lon: 130, lat: -70, tempC: -35.4 },
53
+ { lon: 145, lat: -70, tempC: -31.2 },
54
+ { lon: 160, lat: -70, tempC: -15.4 },
55
+ { lon: -170, lat: -60, tempC: 2.6 },
56
+ { lon: -155, lat: -60, tempC: 0.4 },
57
+ { lon: -140, lat: -60, tempC: -0.1 },
58
+ { lon: -125, lat: -60, tempC: 1.4 },
59
+ { lon: -110, lat: -60, tempC: 2.3 },
60
+ { lon: -95, lat: -60, tempC: 3.1 },
61
+ { lon: -80, lat: -60, tempC: 3.9 },
62
+ { lon: -65, lat: -60, tempC: 1.7 },
63
+ { lon: -50, lat: -60, tempC: -0.8 },
64
+ { lon: -35, lat: -60, tempC: -2.9 },
65
+ { lon: -20, lat: -60, tempC: -3.6 },
66
+ { lon: -5, lat: -60, tempC: -4.6 },
67
+ { lon: 10, lat: -60, tempC: -3.9 },
68
+ { lon: 25, lat: -60, tempC: -1.7 },
69
+ { lon: 40, lat: -60, tempC: -0.6 },
70
+ { lon: 55, lat: -60, tempC: -0.7 },
71
+ { lon: 70, lat: -60, tempC: -1.1 },
72
+ { lon: 85, lat: -60, tempC: -2.1 },
73
+ { lon: 100, lat: -60, tempC: -1.3 },
74
+ { lon: 115, lat: -60, tempC: -0.6 },
75
+ { lon: 130, lat: -60, tempC: 0.4 },
76
+ { lon: 145, lat: -60, tempC: 0.7 },
77
+ { lon: 160, lat: -60, tempC: 0.7 },
78
+ { lon: -170, lat: -50, tempC: 10.0 },
79
+ { lon: -155, lat: -50, tempC: 9.5 },
80
+ { lon: -140, lat: -50, tempC: 8.6 },
81
+ { lon: -125, lat: -50, tempC: 7.9 },
82
+ { lon: -110, lat: -50, tempC: 7.5 },
83
+ { lon: -95, lat: -50, tempC: 7.5 },
84
+ { lon: -80, lat: -50, tempC: 7.9 },
85
+ { lon: -65, lat: -50, tempC: 9.0 },
86
+ { lon: -50, lat: -50, tempC: 6.1 },
87
+ { lon: -35, lat: -50, tempC: 4.1 },
88
+ { lon: -20, lat: -50, tempC: 3.6 },
89
+ { lon: -5, lat: -50, tempC: 2.6 },
90
+ { lon: 10, lat: -50, tempC: 2.8 },
91
+ { lon: 25, lat: -50, tempC: 2.6 },
92
+ { lon: 40, lat: -50, tempC: 3.6 },
93
+ { lon: 55, lat: -50, tempC: 4.1 },
94
+ { lon: 70, lat: -50, tempC: 4.1 },
95
+ { lon: 85, lat: -50, tempC: 5.0 },
96
+ { lon: 100, lat: -50, tempC: 4.8 },
97
+ { lon: 115, lat: -50, tempC: 5.1 },
98
+ { lon: 130, lat: -50, tempC: 7.1 },
99
+ { lon: 145, lat: -50, tempC: 7.9 },
100
+ { lon: 160, lat: -50, tempC: 9.4 },
101
+ { lon: -170, lat: -40, tempC: 15.2 },
102
+ { lon: -155, lat: -40, tempC: 14.5 },
103
+ { lon: -140, lat: -40, tempC: 14.3 },
104
+ { lon: -125, lat: -40, tempC: 14.0 },
105
+ { lon: -110, lat: -40, tempC: 13.5 },
106
+ { lon: -95, lat: -40, tempC: 13.1 },
107
+ { lon: -80, lat: -40, tempC: 13.5 },
108
+ { lon: -65, lat: -40, tempC: 16.7 },
109
+ { lon: -50, lat: -40, tempC: 15.9 },
110
+ { lon: -35, lat: -40, tempC: 14.2 },
111
+ { lon: -20, lat: -40, tempC: 13.4 },
112
+ { lon: -5, lat: -40, tempC: 12.3 },
113
+ { lon: 10, lat: -40, tempC: 12.5 },
114
+ { lon: 25, lat: -40, tempC: 15.3 },
115
+ { lon: 40, lat: -40, tempC: 14.7 },
116
+ { lon: 55, lat: -40, tempC: 14.0 },
117
+ { lon: 70, lat: -40, tempC: 13.6 },
118
+ { lon: 85, lat: -40, tempC: 12.6 },
119
+ { lon: 100, lat: -40, tempC: 12.4 },
120
+ { lon: 115, lat: -40, tempC: 12.7 },
121
+ { lon: 130, lat: -40, tempC: 13.1 },
122
+ { lon: 145, lat: -40, tempC: 14.4 },
123
+ { lon: 160, lat: -40, tempC: 15.8 },
124
+ { lon: -170, lat: -30, tempC: 20.0 },
125
+ { lon: -155, lat: -30, tempC: 19.8 },
126
+ { lon: -140, lat: -30, tempC: 20.6 },
127
+ { lon: -125, lat: -30, tempC: 20.4 },
128
+ { lon: -110, lat: -30, tempC: 20.4 },
129
+ { lon: -95, lat: -30, tempC: 19.6 },
130
+ { lon: -80, lat: -30, tempC: 17.6 },
131
+ { lon: -65, lat: -30, tempC: 21.9 },
132
+ { lon: -50, lat: -30, tempC: 19.7 },
133
+ { lon: -35, lat: -30, tempC: 20.6 },
134
+ { lon: -20, lat: -30, tempC: 20.5 },
135
+ { lon: -5, lat: -30, tempC: 19.3 },
136
+ { lon: 10, lat: -30, tempC: 18.2 },
137
+ { lon: 25, lat: -30, tempC: 16.8 },
138
+ { lon: 40, lat: -30, tempC: 22.3 },
139
+ { lon: 55, lat: -30, tempC: 20.9 },
140
+ { lon: 70, lat: -30, tempC: 20.1 },
141
+ { lon: 85, lat: -30, tempC: 19.2 },
142
+ { lon: 100, lat: -30, tempC: 18.3 },
143
+ { lon: 115, lat: -30, tempC: 20.0 },
144
+ { lon: 130, lat: -30, tempC: 20.4 },
145
+ { lon: 145, lat: -30, tempC: 22.2 },
146
+ { lon: 160, lat: -30, tempC: 21.1 },
147
+ { lon: -170, lat: -20, tempC: 25.2 },
148
+ { lon: -155, lat: -20, tempC: 25.3 },
149
+ { lon: -140, lat: -20, tempC: 25.6 },
150
+ { lon: -125, lat: -20, tempC: 24.6 },
151
+ { lon: -110, lat: -20, tempC: 22.9 },
152
+ { lon: -95, lat: -20, tempC: 20.8 },
153
+ { lon: -80, lat: -20, tempC: 18.9 },
154
+ { lon: -65, lat: -20, tempC: 12.0 },
155
+ { lon: -50, lat: -20, tempC: 25.1 },
156
+ { lon: -35, lat: -20, tempC: 25.0 },
157
+ { lon: -20, lat: -20, tempC: 23.2 },
158
+ { lon: -5, lat: -20, tempC: 21.1 },
159
+ { lon: 10, lat: -20, tempC: 18.9 },
160
+ { lon: 25, lat: -20, tempC: 22.7 },
161
+ { lon: 40, lat: -20, tempC: 25.9 },
162
+ { lon: 55, lat: -20, tempC: 25.5 },
163
+ { lon: 70, lat: -20, tempC: 24.5 },
164
+ { lon: 85, lat: -20, tempC: 23.9 },
165
+ { lon: 100, lat: -20, tempC: 23.7 },
166
+ { lon: 115, lat: -20, tempC: 26.4 },
167
+ { lon: 130, lat: -20, tempC: 25.8 },
168
+ { lon: 145, lat: -20, tempC: 20.9 },
169
+ { lon: 160, lat: -20, tempC: 25.3 },
170
+ { lon: -170, lat: -10, tempC: 27.7 },
171
+ { lon: -155, lat: -10, tempC: 27.5 },
172
+ { lon: -140, lat: -10, tempC: 26.8 },
173
+ { lon: -125, lat: -10, tempC: 25.7 },
174
+ { lon: -110, lat: -10, tempC: 24.4 },
175
+ { lon: -95, lat: -10, tempC: 23.0 },
176
+ { lon: -80, lat: -10, tempC: 20.9 },
177
+ { lon: -65, lat: -10, tempC: 25.6 },
178
+ { lon: -50, lat: -10, tempC: 27.3 },
179
+ { lon: -35, lat: -10, tempC: 26.6 },
180
+ { lon: -20, lat: -10, tempC: 25.2 },
181
+ { lon: -5, lat: -10, tempC: 23.6 },
182
+ { lon: 10, lat: -10, tempC: 24.3 },
183
+ { lon: 25, lat: -10, tempC: 23.0 },
184
+ { lon: 40, lat: -10, tempC: 25.8 },
185
+ { lon: 55, lat: -10, tempC: 26.6 },
186
+ { lon: 70, lat: -10, tempC: 26.9 },
187
+ { lon: 85, lat: -10, tempC: 27.0 },
188
+ { lon: 100, lat: -10, tempC: 27.3 },
189
+ { lon: 115, lat: -10, tempC: 27.8 },
190
+ { lon: 130, lat: -10, tempC: 27.9 },
191
+ { lon: 145, lat: -10, tempC: 27.4 },
192
+ { lon: 160, lat: -10, tempC: 27.9 },
193
+ { lon: -170, lat: 0, tempC: 26.9 },
194
+ { lon: -155, lat: 0, tempC: 25.9 },
195
+ { lon: -140, lat: 0, tempC: 25.0 },
196
+ { lon: -125, lat: 0, tempC: 24.2 },
197
+ { lon: -110, lat: 0, tempC: 23.6 },
198
+ { lon: -95, lat: 0, tempC: 23.5 },
199
+ { lon: -80, lat: 0, tempC: 22.1 },
200
+ { lon: -65, lat: 0, tempC: 25.9 },
201
+ { lon: -50, lat: 0, tempC: 26.5 },
202
+ { lon: -35, lat: 0, tempC: 26.6 },
203
+ { lon: -20, lat: 0, tempC: 25.7 },
204
+ { lon: -5, lat: 0, tempC: 25.6 },
205
+ { lon: 10, lat: 0, tempC: 25.4 },
206
+ { lon: 25, lat: 0, tempC: 24.5 },
207
+ { lon: 40, lat: 0, tempC: 28.7 },
208
+ { lon: 55, lat: 0, tempC: 27.5 },
209
+ { lon: 70, lat: 0, tempC: 28.1 },
210
+ { lon: 85, lat: 0, tempC: 28.2 },
211
+ { lon: 100, lat: 0, tempC: 23.5 },
212
+ { lon: 115, lat: 0, tempC: 25.4 },
213
+ { lon: 130, lat: 0, tempC: 27.8 },
214
+ { lon: 145, lat: 0, tempC: 28.2 },
215
+ { lon: 160, lat: 0, tempC: 28.4 },
216
+ { lon: -170, lat: 10, tempC: 26.9 },
217
+ { lon: -155, lat: 10, tempC: 26.3 },
218
+ { lon: -140, lat: 10, tempC: 25.8 },
219
+ { lon: -125, lat: 10, tempC: 26.0 },
220
+ { lon: -110, lat: 10, tempC: 26.7 },
221
+ { lon: -95, lat: 10, tempC: 27.3 },
222
+ { lon: -80, lat: 10, tempC: 27.3 },
223
+ { lon: -65, lat: 10, tempC: 25.0 },
224
+ { lon: -50, lat: 10, tempC: 26.9 },
225
+ { lon: -35, lat: 10, tempC: 25.9 },
226
+ { lon: -20, lat: 10, tempC: 25.8 },
227
+ { lon: -5, lat: 10, tempC: 27.0 },
228
+ { lon: 10, lat: 10, tempC: 25.6 },
229
+ { lon: 25, lat: 10, tempC: 28.6 },
230
+ { lon: 40, lat: 10, tempC: 24.7 },
231
+ { lon: 55, lat: 10, tempC: 26.3 },
232
+ { lon: 70, lat: 10, tempC: 28.1 },
233
+ { lon: 85, lat: 10, tempC: 28.3 },
234
+ { lon: 100, lat: 10, tempC: 28.2 },
235
+ { lon: 115, lat: 10, tempC: 27.9 },
236
+ { lon: 130, lat: 10, tempC: 28.2 },
237
+ { lon: 145, lat: 10, tempC: 28.1 },
238
+ { lon: 160, lat: 10, tempC: 27.9 },
239
+ { lon: -170, lat: 20, tempC: 25.9 },
240
+ { lon: -155, lat: 20, tempC: 24.4 },
241
+ { lon: -140, lat: 20, tempC: 22.5 },
242
+ { lon: -125, lat: 20, tempC: 21.3 },
243
+ { lon: -110, lat: 20, tempC: 24.0 },
244
+ { lon: -95, lat: 20, tempC: 26.7 },
245
+ { lon: -80, lat: 20, tempC: 27.7 },
246
+ { lon: -65, lat: 20, tempC: 27.0 },
247
+ { lon: -50, lat: 20, tempC: 25.7 },
248
+ { lon: -35, lat: 20, tempC: 24.3 },
249
+ { lon: -20, lat: 20, tempC: 21.9 },
250
+ { lon: -5, lat: 20, tempC: 28.5 },
251
+ { lon: 10, lat: 20, tempC: 26.8 },
252
+ { lon: 25, lat: 20, tempC: 24.3 },
253
+ { lon: 40, lat: 20, tempC: 29.0 },
254
+ { lon: 55, lat: 20, tempC: 29.6 },
255
+ { lon: 70, lat: 20, tempC: 27.1 },
256
+ { lon: 85, lat: 20, tempC: 25.7 },
257
+ { lon: 100, lat: 20, tempC: 24.3 },
258
+ { lon: 115, lat: 20, tempC: 26.0 },
259
+ { lon: 130, lat: 20, tempC: 27.0 },
260
+ { lon: 145, lat: 20, tempC: 27.3 },
261
+ { lon: 160, lat: 20, tempC: 27.1 },
262
+ { lon: -170, lat: 30, tempC: 22.0 },
263
+ { lon: -155, lat: 30, tempC: 21.8 },
264
+ { lon: -140, lat: 30, tempC: 20.4 },
265
+ { lon: -125, lat: 30, tempC: 17.4 },
266
+ { lon: -110, lat: 30, tempC: 20.7 },
267
+ { lon: -95, lat: 30, tempC: 21.3 },
268
+ { lon: -80, lat: 30, tempC: 24.0 },
269
+ { lon: -65, lat: 30, tempC: 23.9 },
270
+ { lon: -50, lat: 30, tempC: 23.6 },
271
+ { lon: -35, lat: 30, tempC: 22.5 },
272
+ { lon: -20, lat: 30, tempC: 21.0 },
273
+ { lon: -5, lat: 30, tempC: 23.7 },
274
+ { lon: 10, lat: 30, tempC: 23.6 },
275
+ { lon: 25, lat: 30, tempC: 21.5 },
276
+ { lon: 40, lat: 30, tempC: 22.9 },
277
+ { lon: 55, lat: 30, tempC: 18.4 },
278
+ { lon: 70, lat: 30, tempC: 17.5 },
279
+ { lon: 85, lat: 30, tempC: -7.0 },
280
+ { lon: 100, lat: 30, tempC: -1.0 },
281
+ { lon: 115, lat: 30, tempC: 18.2 },
282
+ { lon: 130, lat: 30, tempC: 22.4 },
283
+ { lon: 145, lat: 30, tempC: 22.6 },
284
+ { lon: 160, lat: 30, tempC: 22.6 },
285
+ { lon: -170, lat: 40, tempC: 14.7 },
286
+ { lon: -155, lat: 40, tempC: 15.0 },
287
+ { lon: -140, lat: 40, tempC: 15.3 },
288
+ { lon: -125, lat: 40, tempC: 12.8 },
289
+ { lon: -110, lat: 40, tempC: 12.0 },
290
+ { lon: -95, lat: 40, tempC: 12.5 },
291
+ { lon: -80, lat: 40, tempC: 11.5 },
292
+ { lon: -65, lat: 40, tempC: 16.1 },
293
+ { lon: -50, lat: 40, tempC: 17.9 },
294
+ { lon: -35, lat: 40, tempC: 18.3 },
295
+ { lon: -20, lat: 40, tempC: 17.9 },
296
+ { lon: -5, lat: 40, tempC: 16.5 },
297
+ { lon: 10, lat: 40, tempC: 19.5 },
298
+ { lon: 25, lat: 40, tempC: 17.6 },
299
+ { lon: 40, lat: 40, tempC: 5.4 },
300
+ { lon: 55, lat: 40, tempC: 17.5 },
301
+ { lon: 70, lat: 40, tempC: 11.2 },
302
+ { lon: 85, lat: 40, tempC: 13.1 },
303
+ { lon: 100, lat: 40, tempC: 9.6 },
304
+ { lon: 115, lat: 40, tempC: 7.8 },
305
+ { lon: 130, lat: 40, tempC: 12.9 },
306
+ { lon: 145, lat: 40, tempC: 13.3 },
307
+ { lon: 160, lat: 40, tempC: 14.2 },
308
+ { lon: -170, lat: 50, tempC: 7.0 },
309
+ { lon: -155, lat: 50, tempC: 7.9 },
310
+ { lon: -140, lat: 50, tempC: 9.7 },
311
+ { lon: -125, lat: 50, tempC: 10.1 },
312
+ { lon: -110, lat: 50, tempC: 6.5 },
313
+ { lon: -95, lat: 50, tempC: 3.6 },
314
+ { lon: -80, lat: 50, tempC: 1.1 },
315
+ { lon: -65, lat: 50, tempC: 4.2 },
316
+ { lon: -50, lat: 50, tempC: 4.0 },
317
+ { lon: -35, lat: 50, tempC: 10.6 },
318
+ { lon: -20, lat: 50, tempC: 13.0 },
319
+ { lon: -5, lat: 50, tempC: 12.6 },
320
+ { lon: 10, lat: 50, tempC: 9.9 },
321
+ { lon: 25, lat: 50, tempC: 9.6 },
322
+ { lon: 40, lat: 50, tempC: 10.0 },
323
+ { lon: 55, lat: 50, tempC: 8.9 },
324
+ { lon: 70, lat: 50, tempC: 6.6 },
325
+ { lon: 85, lat: 50, tempC: -1.4 },
326
+ { lon: 100, lat: 50, tempC: -1.4 },
327
+ { lon: 115, lat: 50, tempC: 2.0 },
328
+ { lon: 130, lat: 50, tempC: 0.6 },
329
+ { lon: 145, lat: 50, tempC: 2.6 },
330
+ { lon: 160, lat: 50, tempC: 4.9 },
331
+ { lon: -170, lat: 60, tempC: 1.0 },
332
+ { lon: -155, lat: 60, tempC: 1.2 },
333
+ { lon: -140, lat: 60, tempC: -0.0 },
334
+ { lon: -125, lat: 60, tempC: -4.5 },
335
+ { lon: -110, lat: 60, tempC: -2.0 },
336
+ { lon: -95, lat: 60, tempC: -5.3 },
337
+ { lon: -80, lat: 60, tempC: -4.9 },
338
+ { lon: -65, lat: 60, tempC: -3.4 },
339
+ { lon: -50, lat: 60, tempC: 2.9 },
340
+ { lon: -35, lat: 60, tempC: 6.6 },
341
+ { lon: -20, lat: 60, tempC: 9.4 },
342
+ { lon: -5, lat: 60, tempC: 10.2 },
343
+ { lon: 10, lat: 60, tempC: 6.8 },
344
+ { lon: 25, lat: 60, tempC: 7.8 },
345
+ { lon: 40, lat: 60, tempC: 5.1 },
346
+ { lon: 55, lat: 60, tempC: 3.7 },
347
+ { lon: 70, lat: 60, tempC: 1.7 },
348
+ { lon: 85, lat: 60, tempC: 0.3 },
349
+ { lon: 100, lat: 60, tempC: -2.5 },
350
+ { lon: 115, lat: 60, tempC: -5.3 },
351
+ { lon: 130, lat: 60, tempC: -6.3 },
352
+ { lon: 145, lat: 60, tempC: -4.6 },
353
+ { lon: 160, lat: 60, tempC: -0.7 },
354
+ { lon: -170, lat: 70, tempC: -7.2 },
355
+ { lon: -155, lat: 70, tempC: -7.8 },
356
+ { lon: -140, lat: 70, tempC: -8.2 },
357
+ { lon: -125, lat: 70, tempC: -8.3 },
358
+ { lon: -110, lat: 70, tempC: -10.9 },
359
+ { lon: -95, lat: 70, tempC: -11.2 },
360
+ { lon: -80, lat: 70, tempC: -9.7 },
361
+ { lon: -65, lat: 70, tempC: -7.8 },
362
+ { lon: -50, lat: 70, tempC: -4.1 },
363
+ { lon: -35, lat: 70, tempC: -21.3 },
364
+ { lon: -20, lat: 70, tempC: -3.4 },
365
+ { lon: -5, lat: 70, tempC: 4.0 },
366
+ { lon: 10, lat: 70, tempC: 6.2 },
367
+ { lon: 25, lat: 70, tempC: 2.4 },
368
+ { lon: 40, lat: 70, tempC: 3.8 },
369
+ { lon: 55, lat: 70, tempC: 0.7 },
370
+ { lon: 70, lat: 70, tempC: -5.8 },
371
+ { lon: 85, lat: 70, tempC: -8.2 },
372
+ { lon: 100, lat: 70, tempC: -12.1 },
373
+ { lon: 115, lat: 70, tempC: -11.0 },
374
+ { lon: 130, lat: 70, tempC: -10.8 },
375
+ { lon: 145, lat: 70, tempC: -11.2 },
376
+ { lon: 160, lat: 70, tempC: -11.3 },
377
+ { lon: -170, lat: 80, tempC: -13.2 },
378
+ { lon: -155, lat: 80, tempC: -13.2 },
379
+ { lon: -140, lat: 80, tempC: -13.1 },
380
+ { lon: -125, lat: 80, tempC: -13.3 },
381
+ { lon: -110, lat: 80, tempC: -12.8 },
382
+ { lon: -95, lat: 80, tempC: -14.0 },
383
+ { lon: -80, lat: 80, tempC: -17.6 },
384
+ { lon: -65, lat: 80, tempC: -14.3 },
385
+ { lon: -50, lat: 80, tempC: -21.6 },
386
+ { lon: -35, lat: 80, tempC: -23.3 },
387
+ { lon: -20, lat: 80, tempC: -10.5 },
388
+ { lon: -5, lat: 80, tempC: -8.6 },
389
+ { lon: 10, lat: 80, tempC: -2.5 },
390
+ { lon: 25, lat: 80, tempC: -8.5 },
391
+ { lon: 40, lat: 80, tempC: -4.5 },
392
+ { lon: 55, lat: 80, tempC: -5.5 },
393
+ { lon: 70, lat: 80, tempC: -6.8 },
394
+ { lon: 85, lat: 80, tempC: -8.6 },
395
+ { lon: 100, lat: 80, tempC: -9.5 },
396
+ { lon: 115, lat: 80, tempC: -11.5 },
397
+ { lon: 130, lat: 80, tempC: -11.8 },
398
+ { lon: 145, lat: 80, tempC: -12.3 },
399
+ { lon: 160, lat: 80, tempC: -13.0 }
400
+ ];
package/llms-full.txt CHANGED
@@ -12,7 +12,7 @@ Svelte 5 plot components on top of svelteplot. This file is checked against the
12
12
  ## The mental model
13
13
 
14
14
  - A **plot** is one graph (axes + marks). Titles, subtitle, caption, legend, facets and a timeline are props of the plot itself.
15
- - Plots: `LinePlot AreaPlot BarPlot HistogramPlot BoxPlot HeatmapPlot PyramidPlot ScatterPlot GeoPlot`.
15
+ - Plots: `LinePlot AreaPlot BarPlot DensityPlot HistogramPlot BoxPlot ViolinPlot LollipopPlot DumbbellPlot ClevelandPlot ForestPlot BulletPlot SlopePlot SparklinePlot HeatmapPlot PyramidPlot ScatterPlot GeoPlot`.
16
16
  - `PlotComposer` lays several plots out in one figure with shared hover, legend and timeline.
17
17
  - `width` and `height` are pixel numbers on a standalone plot. To fill a container or the window, bind its size (`examples/ResponsiveLine.svelte`) and render the plot once both are > 0.
18
18
 
@@ -38,17 +38,17 @@ Two ways to give data, one per plot:
38
38
  | `title` `subtitle` `caption` | Text chrome. `header` / `footer` snippets replace title+subtitle / caption. |
39
39
  | `legend` | unset/`true`: automatic legend; `false`: none; `{ series: { interactive: { enabled: true, disabled: { mode: 'omit' } } } }` adjusts a section. |
40
40
  | `order` | Chrome blocks top to bottom, e.g. `['title','subtitle','legend','plot','caption']`; rows as `'(plot, timeline)'`; `'divider'` between blocks. |
41
- | `scales` | Per channel: `{ x: { label, tickFormat, domain, type, ticks, grid, niceTolerance, edgeTicks }, y: {...}, color: { scheme, domain } }`. Stacked parts adding up to a hair past a tick (`100.2`) stay on it; `niceTolerance` (default `0.05` of a step) tunes that. A continuous x axis also ticks the data's first and last values (y too with `edgeTicks: true`); `edgeTicks: false` or `{ collision: 'drop-nice'\|'drop-edge'\|'extend' }` (global defaults: `axis.edgeTicks.x` / `.y`). |
42
- | `styles` | `{ values: {...}, frame: true, gaps: {...} }` (shape depends on the kind). |
41
+ | `scales` | Per channel: `{ x: { label, tickFormat, domain, type, ticks, grid, nice, edgeTicks }, y: {...}, color: { scheme, domain } }`. Stacked parts adding up to a hair past a tick (`100.2`) stay on it; `nice: { tolerance }` (default `0.05` of a step) tunes that; `nice: false` keeps the domain on the data. A category axis whose labels do not fit turns them by itself (45, then 90 degrees, then writes every few); a `scales.x.tickRotate` (0 included) or `axis.autoRotate: false` opts out. `scales.x.sort: { by: 'range' | 'value', series?, order? }` orders categories by the gap between their dots or one series' value. A continuous x axis also ticks the data's first and last values (y too with `edgeTicks: true`); `edgeTicks: false` or `{ collision: 'drop-nice'\|'drop-edge'\|'extend' }` (global defaults: `axis.edgeTicks.x` / `.y`). |
42
+ | `styles` | `{ values: {...}, frame: true, gaps: {...}, curve: ... }` (shape depends on the kind; `curve` is the line family's). |
43
43
  | `segments` | Style ranges of the data (rule 1 below). |
44
44
  | `markers` | Extra marks, an array of `{ type: '...', ... }`. |
45
45
  | `margins` | `{ top, right, bottom, left }`, each a number or `'auto'` (all `'auto'` by default). |
46
46
  | `tooltip` | `true` or `{ strategy, sync, format, content, series, anchorX, anchorY }`. The text lists matched rows highest value first; a `content` snippet gets them unsorted. |
47
- | `timeline` | `{ accessor: 'year' }` steps through the rows by a field, drawn as a player bar (default); `type: 'rule'` draws a rule beside the plot instead. The field may hold numbers, `Date`s or date strings (ISO, or any other with `dateFormat: 'DD/MM/YYYY'`); date steps read as dates, and reach `onvalue`, `player.format` and `useFigure().timeline` (`steps`, `value`, `seekValue`) as `Date`s. |
48
- | `facet` | `{ by: 'field', columns, gap, scales: 'shared'\|'free', mode: 'grid'\|'carousel'\|'paginated' }` or `{ rows, cols }`. |
49
- | `transforms` `statistics` | svelteplot transforms / derived summaries (regression, movingAverage, ...). |
47
+ | `timeline` | `{ accessor: 'year' }` steps through the rows by a field, drawn as a player bar (default); `type: 'rule'` draws a rule beside the plot instead. The field may hold numbers, `Date`s or date strings (ISO, or any other with `dateFormat: 'DD/MM/YYYY'`); date steps read as dates, and reach `onvalue`, `player.format` and `useFigure().timeline` (`steps`, `value`, `seekValue`) as `Date`s. Other options: `progress` (position, `0`-`1`), `values` (the steps, when not every distinct value), `filterMode` (`'exact'` shows the current step's rows, `'upTo'` every row up to it; `LinePlot` defaults to `'upTo'`), `interpolate` (tween values between steps), `scales` (`'shared'` keeps both axes still across steps, `'free'` refits both to each step, `'free-x'`/`'free-y'` refit one and keep the other still), `onprogress`, `onvalue`, and a rule's `orientation`, `show` and `thickness`. |
48
+ | `facet` | `{ by: 'field', columns, gap, scales: 'shared'\|'free'\|'free-x'\|'free-y', mode: 'grid'\|'carousel'\|'paginated' }` or `{ rows, cols }`. |
49
+ | `transforms` `statistics` | svelteplot transforms / derived summaries. `statistics` is `[{ type, ...options, series?, pooled? }]` (per series by default, `series: ['a']` only those, `pooled: true` all rows at once; a marker's own `.statistics` runs over its own `data`). Types: `regression` (`regressionType`: `'linear'|'quad'|'poly'|'exp'|'log'|'pow'|'loess'`, `order`, `base`, `span`, `confidence`, `styles`), `movingAverage` (`k`, `reduce`, `styles`), `bollinger` (`n`, `k`, `styles`), `density` (`kernel`, `bandwidth`, `styles`), `density2d` (`bandwidth`, `thresholds`, `styles`), `box` (the `box` marker's options), `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`, `rule` and `band`: styles or `false`, each with an optional `label: true | { text, styles: FontStyle }`, the band's also `edge: 'lower'|'upper'` and `position: 'inside'|'outside'`)|'upper'`). |
50
50
 
51
- Per kind: `BarPlot` x = category, y = value (swap for horizontal bars); `PyramidPlot` mirrors two series around zero; `HeatmapPlot` colors cells by `color`; `HistogramPlot` bins one numeric field; `BoxPlot` x = category, y = value, one box per category (its tooltip row is the box summary: `min`, `p25`, `median`, `p75`, `max`, `count`, `outliers`); `ScatterPlot` takes `r` (size) and `symbol`; `GeoPlot` takes GeoJSON/TopoJSON in `data` and `coordinates` for the projection (`docs/geo.md`).
51
+ Per kind: `BarPlot` x = category, y = value (swap for horizontal bars); `PyramidPlot` mirrors two series around zero; `HeatmapPlot` colors cells by `color`; `HistogramPlot` bins one numeric field; `DensityPlot` smooths one numeric field into a kernel density curve (`styles.mark: 'line'` draws a line instead of an area; a `densityX` transform sets `kernel` and `bandwidth`); `BoxPlot` x = category, y = value, one box per category (its tooltip row is the box summary: `min`, `p25`, `median`, `p75`, `max`, `count`, `outliers`); `ViolinPlot` x = category, y = value (swap for horizontal), the mirrored density of each category's values with a box inside (`styles`: `kernel`, `bandwidth`, `trim`, `scale: 'width'|'shared'`, `box: false | width`; its tooltip row is a box plot's); `LollipopPlot` x = category, y = value, one dot on a stem per category (stems start at zero, or at the nearest end of a pinned domain; `styles.values` labels each dot); `DumbbellPlot` x = category, y = value, `color`/`grouping` names exactly two series, joined by a connector per category (another count warns); `ClevelandPlot` is the same for any number of series, joined from the lowest to the highest (use `grouping` for a numeric series field; `styles.values.select` (`'first'|'last'|'min'|'max'` or a list), `series` and `color: 'series'` choose and color the labelled dots; `styles.connector` sets the connector's `width` (number or `'dots'` for a band), `color` (one, `{ by: 'sign' | 'difference' | 'length' }` or a function), `opacity`, `arrow` (draws the from-to stretch as an arrow), `outside` (the part past the from/to dots), `label` (centered on the from-to stretch) and the `from`/`to` series of its difference); `ForestPlot` x = value, y = category (or swapped), one dot per row on a stem spanning its interval given by `lower`/`upper` fields or an `error` either side (the value axis fits the intervals; `styles.connector.caps` toggles the end ticks, on by default); `BulletPlot` is a bar plot with a `target` (field, function or number: a tick across the band) and `ranges` (upper bounds, each a field, function or number: bands from the baseline, the smallest darkest) drawn around its thin bars (the value axis reaches them); `SlopePlot` x = category (its first and last positions are the two moments), y = value, a line with a dot on every point per series, its first and last labelled before and after it by `styles.values` (the value axis is hidden by default; `scales.y.axisDisplay: 'visible'` shows it); `SparklinePlot` is a small `LinePlot` with no axes and no legend (`legend` and `margins` bring them back), a dot on each series' last point and its value beside it (`styles.values` formats it or turns it off with `show: false`; `facet` makes one per category); `ScatterPlot` takes `r` (size) and `symbol`; `GeoPlot` takes GeoJSON/TopoJSON in `data` and `coordinates` for the projection (`docs/geo.md`).
52
52
 
53
53
  ## Switches
54
54
 
@@ -61,13 +61,14 @@ Per kind: `BarPlot` x = category, y = value (swap for horizontal bars); `Pyramid
61
61
 
62
62
  1. `segments` is an object keyed by series name or `'default'`: `{ default: [{ areas: [{ x: { from, to } }], styles: { stroke: { strokeDasharray: '6 4' } } }] }`. A segment without `areas` is a baseline for everything; area-specific segments override it.
63
63
  2. The global configuration holds data (`setConfiguration(...)` is cloned); functions go in plot props such as `format` and `tickFormat`.
64
- 3. A continuous color ramp is `scales.color.scheme: [colorA, colorB]` (or a named ramp such as `'blues'`); categorical colors come from `palette` or a `scheme` record.
64
+ 3. A continuous color ramp is `scales.color.scheme: [colorA, colorB]` (or a named ramp such as `'blues'`); categorical colors come from `palette` (a list of colors, or a scheme name such as `'viridis'` or `'dark2'` in `setConfiguration`) or a `scheme` record.
65
65
  4. `margins` at `'auto'` (the default) fit value labels and long tick text from the measured text, also when `scales.y.domain` is pinned. A fixed number sets the side exactly.
66
66
  5. `tooltip.sync: true` in a `facet` or `PlotComposer` shows the highlight in every panel: that is how panels compare the same x.
67
67
  6. On a BarPlot the tooltip triggers anywhere over a bar's whole band (and its series' slice, when grouped).
68
68
  7. `r` takes raw values and its sqrt scale makes area follow the value; tune with `scales.r.range`. A literal number is a fixed pixel radius.
69
69
  8. Narrow plots with long category or series names: shorten the text in the data, format with `tickFormat` / `values.format`, or give `margins` more room.
70
70
  9. In Svelte 5 components, `state` is taken by the `$state` rune: name local variables otherwise.
71
+ 10. In a `facet`, every panel draws the plot's `markers` and `segments`. Give one a `facet` (a `by` value, a list of them, or `{ row, col }` in a `rows`/`cols` grid) to draw it only in the panels it names: `markers={[{ type: 'rule', axis: 'y', value: 10, facet: 'GBA' }]}`, `segments={{ Services: [{ facet: 'Cuyo', styles: { stroke: { strokeDasharray: '4 4' } } }] }}`. A plot with no facet leaves out whatever names one.
71
72
  10. Stacking is `transforms={[{ type: 'stackY' }]}`, also for horizontal bars (the value channel is the one stacked).
72
73
 
73
74
  ## Reading and driving plot state (custom UI)
@@ -80,27 +81,27 @@ Inside a plot's snippets (`header`, `footer`, tooltip `content`) or any child of
80
81
  - `timeline.steps`, `value`, `progress`, `playing`, `seek(p)`, `seekValue(v)`, `next()`, `previous()`, `play()`, `pause()`, `toggle()`, `setSpeed()`.
81
82
  - `hover.activeX`, `activeY`, `activeSeries`, `source`.
82
83
 
83
- The timeline is a player bar by default: `timeline={{ accessor: 'year', player: { controls: ['play','value','slider','speed','loop'], format, autoplay, loop, speed, stepDuration } }}`. `type: 'rule'` draws a guide beside the plot instead, driven by `progress` (a slider or scroll position of your own).
84
+ The timeline is a player bar by default: `timeline={{ accessor: 'year', player: { controls: ['play','value','slider','speed','loop'], format, autoplay, loop, speed, stepDuration } }}`. `type: 'rule'` draws a guide beside the plot instead, driven by `progress` (a slider or scroll position of your own). `timeline.scales` decides what the axes do while it plays: `'shared'` (default) spans every step so they hold still, `'free'` refits both to the current step, and `'free-x'` / `'free-y'` refit one axis (e.g. a time axis that advances) and keep the other still; a pinned `scales.<axis>.domain` always wins.
84
85
 
85
86
  ## Markers
86
87
 
87
88
  Add with `markers={[{ type: '...' }]}`. For x/y plots:
88
- `area arrow bar bollinger box brush cell component delaunayLink delaunayMesh delta density difference dot hover hull image line raster rect regression rule text tick trail voronoi voronoiMesh waffle`.
89
+ `area arrow bar bollinger box brush cell component delaunayLink delaunayMesh delta density difference dot hover hull image line raster rect regression rule text tick trail violin voronoi voronoiMesh waffle`.
89
90
  GeoPlot: `graticule sphere dot text vector link contour inset geo-hover geo-component`.
90
91
 
91
- - `delta` annotates the difference between two series at a position: `{ type: 'delta', axis: 'x', at: 2020, from: { type: 'series', series: 'A' }, to: { type: 'series', series: 'B' }, formatDiff: (d) => d.toFixed(1) }`.
92
- - `rule` (`axis`, `value`), `text` (`text`), `dot` annotate; `component` mounts your own Svelte component inside the plot (it can call `usePlot()`).
92
+ - `delta` annotates the difference between two series at a position: `{ type: 'delta', axis: 'x', at: 2020, from: { type: 'series', series: 'A' }, to: { type: 'series', series: 'B' }, formatDiff: (d) => d.toFixed(1) }`; `at` can be a list of positions, one delta at each (`at: [1991, 2001]`), and `line`, `text` and `dot` can be functions of the position (`text: (at) => at === 2022 ? { dx: -20, textAnchor: 'end' } : { dx: 20 }`).
93
+ - `rule` (`axis`, `value`; a list draws a line at each), `text` (`text`), `dot` annotate; `component` mounts your own Svelte component inside the plot (it can call `usePlot()`).
93
94
  - Each plot kind types its own marker union (`AxisBasedMarkersConfig`, `GeoMarkersConfig`); `satisfies` on a markers array gives completion.
94
95
 
95
96
  ## Theming and locale
96
97
 
97
- - `setConfiguration(partial)` deep-merges global defaults (colors, fonts, spacing, legend, tooltip, timeline); `resetConfiguration()` restores them. Inside an `$effect`, wrap the call in `untrack`.
98
+ - `setConfiguration(partial)` deep-merges global defaults (colors, fonts, spacing, legend, tooltip, timeline); `resetConfiguration()` restores them. Legend series icons: `legend.icon.rounded` (default `false`) and `legend.icon.marks` (shape per mark: `line`, `dot`, `area`, `bar`, `cell`, `rect`, `geo`; a symbol or `'line'`). Inside an `$effect`, wrap the call in `untrack`.
98
99
  - `THEMES` has `Default Editorial Dark Compact`: `setConfiguration(THEMES.Editorial)`.
99
100
  - Number and date text follows `axis.locale` (default `'es-AR'`) in the configuration; per axis, `tickFormat: (d) => new Intl.NumberFormat('en-US').format(d)` or an `Intl.*FormatOptions` object.
100
101
 
101
102
  ## Docs (in `docs/`)
102
103
 
103
- `getting-started.md`, `concepts.md`, `plots.md`, `scales.md`, `styles-and-segments.md`, `markers.md`, `transforms-and-statistics.md`, `tooltip-and-hover.md`, `legend.md`, `timeline.md`, `chrome.md`, `facets.md`, `composer.md`, `state.md`, `geo.md`, `theming.md`.
104
+ `getting-started.md`, `concepts.md`, `plots.md` (an index: one page per plot kind in `plots/`), `scales.md`, `styles-and-segments.md`, `markers.md`, `transforms-and-statistics.md`, `tooltip-and-hover.md`, `legend.md`, `timeline.md`, `chrome.md`, `facets.md`, `composer.md`, `state.md`, `geo.md`, `theming.md`.
104
105
 
105
106
  ## Examples (in `examples/`, all runnable)
106
107
 
@@ -120,7 +121,16 @@ GeoPlot: `graticule sphere dot text vector link contour inset geo-hover geo-comp
120
121
  - `GroupedBars.svelte` - vertical bars grouped by color.
121
122
  - `HorizontalBars.svelte` - horizontal bars.
122
123
  - `Histogram.svelte` - overlapping histograms.
124
+ - `Density.svelte` - density curves per group.
123
125
  - `Box.svelte` - box plots per group.
126
+ - `Violin.svelte` - violin plot of the iris species.
127
+ - `Lollipop.svelte` - lollipop plot with value labels.
128
+ - `Dumbbell.svelte` - dumbbell plot of two series.
129
+ - `Forest.svelte` - forest plot of estimates with intervals.
130
+ - `Bullet.svelte` - bullet plot of a value against a target and ranges.
131
+ - `Slope.svelte` - slope plot of each group's share between two censuses.
132
+ - `Sparkline.svelte` - one sparkline per region.
133
+ - `Cleveland.svelte` - Cleveland dot plot of several series.
124
134
  - `Heatmap.svelte` - heatmap.
125
135
  - `Pyramid.svelte` - population pyramid.
126
136
  - `Scatter.svelte` - scatter plot sized, colored and shaped by channels.
@@ -129,6 +139,8 @@ GeoPlot: `graticule sphere dot text vector link contour inset geo-hover geo-comp
129
139
  - `Gaps.svelte` - filling gaps of missing values.
130
140
  - `SegmentHighlight.svelte` - highlighting a range of one series.
131
141
  - `SegmentsBySeries.svelte` - segments per series and shared rules.
142
+ - `LineStep.svelte` - step plot: a line plot with a step curve.
143
+ - `LineStepSegment.svelte` - a step curve on one segment of a line.
132
144
  - `HeatmapSegments.svelte` - segments on a heatmap.
133
145
  - `Markers.svelte` - hover, rule and delta markers.
134
146
  - `StackedBars.svelte` - bars stacked with stackY.
@@ -139,4 +151,5 @@ GeoPlot: `graticule sphere dot text vector link contour inset geo-hover geo-comp
139
151
  - `ChromeOrder.svelte` - ordering chrome blocks with dividers.
140
152
  - `FacetsCarousel.svelte` - facets as a carousel.
141
153
  - `FacetsRowsCols.svelte` - facets by rows and columns.
154
+ - `FacetsScoped.svelte` - markers and segments in some facet panels.
142
155
  - `Composer.svelte` - several plots in one figure.
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # @fundar/data-chart-telling
2
2
 
3
- > Svelte 5 plot components (line, area, bar, histogram, box, heatmap, pyramid, scatter, geo) built on svelteplot, with titles, legends, tooltips, facets, timelines and value labels built in. Plots take pixel `width`/`height`; hover and tooltips are switched on with `tooltip` and a `hover` marker.
3
+ > Svelte 5 plot components (line, area, bar, density, histogram, box, violin, lollipop, dumbbell, cleveland, forest, bullet, slope, sparkline, heatmap, pyramid, scatter, geo) built on svelteplot, with titles, legends, tooltips, facets, timelines and value labels built in. Plots take pixel `width`/`height`; hover and tooltips are switched on with `tooltip` and a `hover` marker.
4
4
 
5
5
  Start with the full guide: it lists the mental model, the props every plot shares, the switches and the rules that matter. Runnable examples are type-checked, so copy them as a starting point.
6
6
 
@@ -12,11 +12,28 @@ Start with the full guide: it lists the mental model, the props every plot share
12
12
 
13
13
  - [Getting started](./docs/getting-started.md): install, first plot, sizing, data
14
14
  - [Concepts](./docs/concepts.md): plots, figures, rows and series, channels, shared props
15
- - [Plots](./docs/plots.md): the nine plot kinds
15
+ - [Plots](./docs/plots.md): the plot kinds, one page each
16
+ - [LinePlot](./docs/plots/evolution/line.md)
17
+ - [AreaPlot](./docs/plots/evolution/area.md)
18
+ - [BarPlot](./docs/plots/ranking/bar.md)
19
+ - [DensityPlot](./docs/plots/distribution/density.md)
20
+ - [HistogramPlot](./docs/plots/distribution/histogram.md)
21
+ - [BoxPlot](./docs/plots/distribution/box.md)
22
+ - [ViolinPlot](./docs/plots/distribution/violin.md)
23
+ - [LollipopPlot](./docs/plots/ranking/lollipop.md)
24
+ - [DumbbellPlot](./docs/plots/ranking/dumbbell.md)
25
+ - [ForestPlot](./docs/plots/ranking/forest.md)
26
+ - [BulletPlot](./docs/plots/ranking/bullet.md)
27
+ - [SlopePlot](./docs/plots/evolution/slope.md)
28
+ - [SparklinePlot](./docs/plots/evolution/sparkline.md)
29
+ - [ClevelandPlot](./docs/plots/ranking/cleveland.md)
30
+ - [HeatmapPlot](./docs/plots/correlation/heatmap.md)
31
+ - [PyramidPlot](./docs/plots/distribution/pyramid.md)
32
+ - [ScatterPlot](./docs/plots/correlation/scatter.md)
16
33
  - [Scales](./docs/scales.md): axes and channel scales
17
34
  - [Styles and segments](./docs/styles-and-segments.md): value labels, frame, gaps, ranges of data
18
35
  - [Markers](./docs/markers.md): annotations, regions, hover highlight, custom components
19
- - [Transforms and statistics](./docs/transforms-and-statistics.md): stacking, binning, smoothing, regression
36
+ - [Transforms and statistics](./docs/transforms-and-statistics.md): stacking, binning, smoothing, regression, and the statistics `regression`, `movingAverage`, `bollinger`, `density`, `density2d`, `box`, `deviation` with their options
20
37
  - [Tooltip and hover](./docs/tooltip-and-hover.md): tooltip options, hover marker, sync
21
38
  - [Legend](./docs/legend.md): automatic legend, toggling series, sections
22
39
  - [Timeline](./docs/timeline.md): player (default) and rule
@@ -45,7 +62,16 @@ Start with the full guide: it lists the mental model, the props every plot share
45
62
  - [Vertical bars grouped by color](./examples/GroupedBars.svelte)
46
63
  - [Horizontal bars](./examples/HorizontalBars.svelte)
47
64
  - [Overlapping histograms](./examples/Histogram.svelte)
65
+ - [Density curves per group](./examples/Density.svelte)
48
66
  - [Box plots per group](./examples/Box.svelte)
67
+ - [Violin plot of the iris species](./examples/Violin.svelte)
68
+ - [Lollipop plot with value labels](./examples/Lollipop.svelte)
69
+ - [Dumbbell plot of two series](./examples/Dumbbell.svelte)
70
+ - [Forest plot of estimates with intervals](./examples/Forest.svelte)
71
+ - [Bullet plot of a value against a target and ranges](./examples/Bullet.svelte)
72
+ - [Slope plot of two moments](./examples/Slope.svelte)
73
+ - [Sparkline per region](./examples/Sparkline.svelte)
74
+ - [Cleveland dot plot of several series](./examples/Cleveland.svelte)
49
75
  - [Heatmap](./examples/Heatmap.svelte)
50
76
  - [Population pyramid](./examples/Pyramid.svelte)
51
77
  - [Scatter plot sized, colored and shaped by channels](./examples/Scatter.svelte)
@@ -54,6 +80,8 @@ Start with the full guide: it lists the mental model, the props every plot share
54
80
  - [Filling gaps of missing values](./examples/Gaps.svelte)
55
81
  - [Highlighting a range of one series](./examples/SegmentHighlight.svelte)
56
82
  - [Segments per series and shared rules](./examples/SegmentsBySeries.svelte)
83
+ - [Step plot: a line plot with a step curve](./examples/LineStep.svelte)
84
+ - [A step curve on one segment of a line](./examples/LineStepSegment.svelte)
57
85
  - [Segments on a heatmap](./examples/HeatmapSegments.svelte)
58
86
  - [Hover, rule and delta markers](./examples/Markers.svelte)
59
87
  - [Bars stacked with stackY](./examples/StackedBars.svelte)
@@ -64,8 +92,9 @@ Start with the full guide: it lists the mental model, the props every plot share
64
92
  - [Ordering chrome blocks with dividers](./examples/ChromeOrder.svelte)
65
93
  - [Facets as a carousel](./examples/FacetsCarousel.svelte)
66
94
  - [Facets by rows and columns](./examples/FacetsRowsCols.svelte)
95
+ - [Markers and segments in some facet panels](./examples/FacetsScoped.svelte)
67
96
  - [Several plots in one figure](./examples/Composer.svelte)
68
- - [Shared example data](./examples/data.ts)
97
+ - [Example datasets, one file each](./examples/datasets)
69
98
 
70
99
  ## Types
71
100