@amcharts/amcharts5-mcp 1.4.0 → 1.6.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 (333) hide show
  1. package/content/SKILL.md +135 -7
  2. package/content/flow.md +7 -0
  3. package/content/hierarchy.md +21 -0
  4. package/content/map.md +107 -9
  5. package/content/pie.md +22 -0
  6. package/content/radar.md +1 -1
  7. package/content/timeline.md +3 -3
  8. package/content/venn.md +6 -0
  9. package/content/wordcloud.md +2 -0
  10. package/content/xy.md +32 -2
  11. package/extended/charts/map-chart/map-line-series.md +110 -1
  12. package/extended/charts/map-chart/map-point-series.md +110 -1
  13. package/extended/charts/map-chart/map-polygon-series.md +47 -0
  14. package/extended/charts/xy-chart/axes/category-axis.md +2 -0
  15. package/extended/concepts/animations.md +136 -2
  16. package/extended/concepts/data.md +2 -0
  17. package/extended/concepts/events.md +14 -0
  18. package/extended/concepts/serializing/chart-serializer.md +64 -24
  19. package/extended/concepts/serializing.md +17 -0
  20. package/extended/concepts/settings/template-fields.md +24 -0
  21. package/extended/examples/candlestick-ohlc/box-plot-chart.md +78 -73
  22. package/extended/examples/candlestick-ohlc/candlestick-chart.md +2 -5
  23. package/extended/examples/candlestick-ohlc/ohlc-chart.md +3 -6
  24. package/extended/examples/candlestick-ohlc/on-demand-data-loading.md +7 -7
  25. package/extended/examples/candlestick-ohlc/professional-candlesticks.md +3 -6
  26. package/extended/examples/candlestick-ohlc/stock-chart-candlesticks.md +1 -1
  27. package/extended/examples/column-bar/100-stacked-column-chart.md +3 -3
  28. package/extended/examples/column-bar/bar-and-line-chart-mix.md +3 -12
  29. package/extended/examples/column-bar/bar-chart-race.md +4 -11
  30. package/extended/examples/column-bar/bars-with-moving-bullets.md +1 -1
  31. package/extended/examples/column-bar/bullet-chart.md +1 -1
  32. package/extended/examples/column-bar/carbon-zero-progress.md +2 -3
  33. package/extended/examples/column-bar/clustered-bar-chart.md +3 -13
  34. package/extended/examples/column-bar/clustered-column-chart.md +2 -2
  35. package/extended/examples/column-bar/column-and-line-mix.md +1 -1
  36. package/extended/examples/column-bar/column-chart-images-top.md +4 -10
  37. package/extended/examples/column-bar/column-with-rotated-series.md +4 -11
  38. package/extended/examples/column-bar/columns-with-grainy-gradients.md +4 -5
  39. package/extended/examples/column-bar/columns-with-moving-bullets.md +1 -1
  40. package/extended/examples/column-bar/curved-columns.md +4 -10
  41. package/extended/examples/column-bar/divergent-stacked-bars.md +1 -10
  42. package/extended/examples/column-bar/drag-and-change-column-value.md +4 -11
  43. package/extended/examples/column-bar/drag-ordering-of-bars.md +1 -1
  44. package/extended/examples/column-bar/dumbbell-plot.md +1 -1
  45. package/extended/examples/column-bar/floating-bar-chart.md +2 -3
  46. package/extended/examples/column-bar/grouped-and-sorted-columns.md +4 -10
  47. package/extended/examples/column-bar/grouped-stacks.md +1 -1
  48. package/extended/examples/column-bar/heat-map-with-legend.md +8 -8
  49. package/extended/examples/column-bar/horizontal-dumbbell-plot.md +1 -1
  50. package/extended/examples/column-bar/images-as-categories.md +16 -18
  51. package/extended/examples/column-bar/layered-column-chart.md +1 -1
  52. package/extended/examples/column-bar/lollipop-chart.md +1 -1
  53. package/extended/examples/column-bar/pareto-diagram.md +4 -7
  54. package/extended/examples/column-bar/partitioned-bar-chart.md +1 -1
  55. package/extended/examples/column-bar/pictorial-column-chart.md +1 -1
  56. package/extended/examples/column-bar/real-time-data-sorting.md +4 -11
  57. package/extended/examples/column-bar/risk-heatmap.md +9 -9
  58. package/extended/examples/column-bar/simple-column-chart.md +3 -3
  59. package/extended/examples/column-bar/sorted-bar-chart.md +4 -12
  60. package/extended/examples/column-bar/stacked-bar-chart-with-negative-values.md +1 -1
  61. package/extended/examples/column-bar/stacked-bar-chart.md +1 -1
  62. package/extended/examples/column-bar/stacked-clustered-column-chart.md +1 -1
  63. package/extended/examples/column-bar/stacked-column-chart.md +1 -1
  64. package/extended/examples/column-bar/stacked-waterfall-chart.md +1 -1
  65. package/extended/examples/column-bar/step-count-chart.md +1 -1
  66. package/extended/examples/column-bar/variance-indicators.md +1 -1
  67. package/extended/examples/column-bar/waffle-chart.md +1 -1
  68. package/extended/examples/column-bar/waterfall-chart.md +1 -1
  69. package/extended/examples/dashboards/maps-and-charts-dashboard.md +1 -1
  70. package/extended/examples/dashboards/road-trip-dashboard-with-map.md +24 -23
  71. package/extended/examples/flow/animated-sankey-diagram.md +200 -202
  72. package/extended/examples/flow/chord-diagram-with-animated-bullets.md +4 -2
  73. package/extended/examples/flow/chord-diagram.md +6 -4
  74. package/extended/examples/flow/horizontal-arc-diagram.md +4 -2
  75. package/extended/examples/flow/non-ribbon-chord-diagram.md +6 -4
  76. package/extended/examples/flow/sankey-diagram.md +4 -2
  77. package/extended/examples/flow/toggleable-chord-diagram.md +4 -2
  78. package/extended/examples/flow/traceable-sankey-diagram.md +4 -2
  79. package/extended/examples/flow/vertical-arc-diagram.md +4 -2
  80. package/extended/examples/flow/vertical-sankey-diagram.md +11 -19
  81. package/extended/examples/funnel-pyramid/funnel-chart-with-rounded-corners.md +1 -1
  82. package/extended/examples/funnel-pyramid/funnel-chart.md +1 -1
  83. package/extended/examples/funnel-pyramid/funnel-with-gradient-fill.md +1 -1
  84. package/extended/examples/funnel-pyramid/horizontal-funnel.md +1 -1
  85. package/extended/examples/funnel-pyramid/horizontal-pictorial-chart.md +1 -1
  86. package/extended/examples/funnel-pyramid/pictorial-chart.md +1 -1
  87. package/extended/examples/funnel-pyramid/pictorial-fraction-chart.md +1 -1
  88. package/extended/examples/funnel-pyramid/pictorial-stacked-chart.md +1 -1
  89. package/extended/examples/funnel-pyramid/pyramid-chart.md +1 -1
  90. package/extended/examples/gantt/editable-multilevel-gantt-chart.md +1 -1
  91. package/extended/examples/gantt/gantt-chart-dates.md +1 -1
  92. package/extended/examples/gantt/gantt-chart-in-read-only-mode.md +1 -1
  93. package/extended/examples/gantt/gantt-chart-playground.md +4 -3
  94. package/extended/examples/gantt/gantt-chart.md +1 -1
  95. package/extended/examples/gantt/gantt-with-hundreds-of-items.md +1 -1
  96. package/extended/examples/gauges/angular-gauge-with-two-axes.md +1 -1
  97. package/extended/examples/gauges/angular-gauge.md +1 -1
  98. package/extended/examples/gauges/animated-gauge.md +1 -1
  99. package/extended/examples/gauges/clock-with-two-faces.md +1 -1
  100. package/extended/examples/gauges/clock.md +1 -1
  101. package/extended/examples/gauges/compass-chart.md +1 -1
  102. package/extended/examples/gauges/gauge-with-bands.md +1 -1
  103. package/extended/examples/gauges/gauge-with-gradient-fill.md +1 -1
  104. package/extended/examples/gauges/multi-part-gauge.md +1 -1
  105. package/extended/examples/gauges/solid-gauge.md +1 -1
  106. package/extended/examples/gauges/yes-and-no-gauge.md +1 -1
  107. package/extended/examples/hierarchy/collapsible-force-directed-tree.md +3 -3
  108. package/extended/examples/hierarchy/drill-down-sunburst-chart.md +4 -4
  109. package/extended/examples/hierarchy/drill-down-treemap.md +5 -5
  110. package/extended/examples/hierarchy/dynamic-data-updates-on-treemap.md +4 -4
  111. package/extended/examples/hierarchy/force-directed-adding-links.md +4 -4
  112. package/extended/examples/hierarchy/force-directed-network.md +4 -4
  113. package/extended/examples/hierarchy/force-directed-tree-with-animated-bullets.md +11 -10
  114. package/extended/examples/hierarchy/force-directed-tree.md +3 -3
  115. package/extended/examples/hierarchy/horizontal-partition-chart.md +3 -3
  116. package/extended/examples/hierarchy/multilevel-tree-map.md +11 -10
  117. package/extended/examples/hierarchy/packed-circle-chart.md +3 -3
  118. package/extended/examples/hierarchy/rectangular-voronoi-tree-map.md +4 -2
  119. package/extended/examples/hierarchy/simple-treemap.md +4 -4
  120. package/extended/examples/hierarchy/single-level-packed-circles.md +11 -10
  121. package/extended/examples/hierarchy/sunburst-chart.md +3 -3
  122. package/extended/examples/hierarchy/sunburst-flavor-wheel.md +18 -21
  123. package/extended/examples/hierarchy/tree-chart.md +11 -10
  124. package/extended/examples/hierarchy/vertical-partition-chart.md +3 -3
  125. package/extended/examples/hierarchy/voronoi-treemap.md +11 -10
  126. package/extended/examples/hierarchy/zoomable-force-directed-tree.md +11 -10
  127. package/extended/examples/line-area/100-stacked-area-chart.md +3 -4
  128. package/extended/examples/line-area/animated-bullet-at-the-end-of-the-series.md +1 -1
  129. package/extended/examples/line-area/area-with-time-based-data.md +2 -3
  130. package/extended/examples/line-area/chart-with-gaps-in-data.md +2 -3
  131. package/extended/examples/line-area/comparing-different-date-values-google-analytics-style.md +2 -3
  132. package/extended/examples/line-area/control-chart.md +1 -1
  133. package/extended/examples/line-area/data-grouping-50k-points.md +1 -2
  134. package/extended/examples/line-area/date-axis-with-labels-near-minor-grid-lines.md +1 -1
  135. package/extended/examples/line-area/date-based-data.md +1 -1
  136. package/extended/examples/line-area/date-based-line-chart.md +4 -4
  137. package/extended/examples/line-area/divergent-lines.md +2 -3
  138. package/extended/examples/line-area/draggable-range-with-close-button.md +1 -1
  139. package/extended/examples/line-area/drawing-chart-series-with-mouse-or-touch.md +1 -1
  140. package/extended/examples/line-area/duration-on-value-axis.md +8 -8
  141. package/extended/examples/line-area/error-chart.md +2 -3
  142. package/extended/examples/line-area/evenly-spaced-date-axis.md +1 -1
  143. package/extended/examples/line-area/highlighting-line-chart-series-on-legend-hover.md +1 -1
  144. package/extended/examples/line-area/line-chart-adding-data-every-second.md +1 -1
  145. package/extended/examples/line-area/line-chart-with-horizontal-target.md +1 -1
  146. package/extended/examples/line-area/line-chart-with-range-slider.md +1 -1
  147. package/extended/examples/line-area/line-chart-with-scroll-and-zoom.md +1 -1
  148. package/extended/examples/line-area/line-different-colors-ups-downs.md +1 -1
  149. package/extended/examples/line-area/line-graph.md +1 -1
  150. package/extended/examples/line-area/line-with-changing-color.md +1 -1
  151. package/extended/examples/line-area/line-with-custom-bullets.md +21 -18
  152. package/extended/examples/line-area/line-with-data-labels.md +1 -1
  153. package/extended/examples/line-area/live-data.md +1 -1
  154. package/extended/examples/line-area/live-order-book-depth-chart.md +9 -15
  155. package/extended/examples/line-area/logarithmic-scale.md +1 -1
  156. package/extended/examples/line-area/manipulate-chart-data-with-mouse.md +1 -1
  157. package/extended/examples/line-area/mixed-daily-and-intra-day-chart.md +1 -1
  158. package/extended/examples/line-area/multiple-date-axes.md +1 -1
  159. package/extended/examples/line-area/multiple-value-axes.md +1 -1
  160. package/extended/examples/line-area/no-gap-date-axis.md +1 -1
  161. package/extended/examples/line-area/process-control-chart.md +1 -1
  162. package/extended/examples/line-area/range-area-chart.md +1 -1
  163. package/extended/examples/line-area/range-chart-with-different-fill-colors.md +2 -2
  164. package/extended/examples/line-area/reversed-value-axis.md +2 -3
  165. package/extended/examples/line-area/selecting-and-marking-multiple-ranges.md +1 -2
  166. package/extended/examples/line-area/show-percentage-change.md +1 -1
  167. package/extended/examples/line-area/smoothed-line-chart.md +1 -1
  168. package/extended/examples/line-area/smoothed-stacked-area.md +2 -3
  169. package/extended/examples/line-area/spline-graph.md +1 -1
  170. package/extended/examples/line-area/stacked-area.md +2 -3
  171. package/extended/examples/line-area/step-line-chart.md +1 -1
  172. package/extended/examples/line-area/step-line-without-risers.md +1 -1
  173. package/extended/examples/line-area/stream-chart.md +2 -3
  174. package/extended/examples/line-area/trend-lines.md +1 -1
  175. package/extended/examples/line-area/vertical-line-chart.md +1 -1
  176. package/extended/examples/line-area/zoomable-value-axis.md +6 -6
  177. package/extended/examples/maps/animations-along-lines.md +34 -28
  178. package/extended/examples/maps/approximate-working-hours-map.md +9 -1
  179. package/extended/examples/maps/capitals-map.md +363 -911
  180. package/extended/examples/maps/changing-map-projection.md +7 -6
  181. package/extended/examples/maps/day-and-night-world-map.md +172 -532
  182. package/extended/examples/maps/drill-down-congressional-map.md +2 -2
  183. package/extended/examples/maps/drill-down-map.md +4 -4
  184. package/extended/examples/maps/drill-down-to-countries.md +6 -6
  185. package/extended/examples/maps/flight-routes-map.md +9 -1
  186. package/extended/examples/maps/grouped-countries-map.md +2 -3
  187. package/extended/examples/maps/location-sensitive-map.md +2 -1
  188. package/extended/examples/maps/map-bubbles.md +11 -3
  189. package/extended/examples/maps/map-dynamic-pie-charts.md +1 -1
  190. package/extended/examples/maps/map-image-drill-down.md +14 -15
  191. package/extended/examples/maps/map-sankey-series.md +22 -0
  192. package/extended/examples/maps/map-timeline.md +1 -1
  193. package/extended/examples/maps/map-using-d3-projections.md +1 -1
  194. package/extended/examples/maps/map-with-animated-bubbles.md +4 -2
  195. package/extended/examples/maps/map-with-animated-lines.md +38 -26
  196. package/extended/examples/maps/map-with-curved-lines.md +35 -25
  197. package/extended/examples/maps/map-with-patterns.md +9 -4
  198. package/extended/examples/maps/map-with-pulsating-bullets.md +9 -13
  199. package/extended/examples/maps/map-with-sized-pin-bullets.md +1 -1
  200. package/extended/examples/maps/multi-series-map.md +5 -4
  201. package/extended/examples/maps/pacific-centered-map.md +2 -1
  202. package/extended/examples/maps/rotate-globe-to-a-selected-country.md +200 -29
  203. package/extended/examples/maps/rotating-globe-with-circles.md +19 -2
  204. package/extended/examples/maps/rotating-globe.md +77 -20
  205. package/extended/examples/maps/selecting-multiple-areas-map.md +1 -1
  206. package/extended/examples/maps/solar-eclipse-map.md +12 -7
  207. package/extended/examples/maps/trumps-reciprocal-tariffs-map.md +1 -1
  208. package/extended/examples/maps/us-congressional-districts.md +19 -10
  209. package/extended/examples/maps/us-heat-map.md +1 -1
  210. package/extended/examples/maps/weather-map.md +1 -1
  211. package/extended/examples/maps/world-map-with-clustered-points.md +2 -1
  212. package/extended/examples/maps/world-time-zone-map.md +2 -1
  213. package/extended/examples/maps/zooming-to-countries-map.md +91 -15
  214. package/extended/examples/miscellaneous/annotating-charts.md +3 -3
  215. package/extended/examples/miscellaneous/changing-data-word-cloud.md +4 -2
  216. package/extended/examples/miscellaneous/combined-bullet-column-line-chart.md +1 -1
  217. package/extended/examples/miscellaneous/complex-venn-diagram.md +9 -22
  218. package/extended/examples/miscellaneous/exporting-chart-to-image.md +1 -1
  219. package/extended/examples/miscellaneous/forest-plot.md +5 -5
  220. package/extended/examples/miscellaneous/historical-population-pyramid.md +2 -4
  221. package/extended/examples/miscellaneous/honeycomb-tile-map.md +1 -1
  222. package/extended/examples/miscellaneous/horizontally-stacked-axes.md +1 -1
  223. package/extended/examples/miscellaneous/hybrid-drill-down-pie-bar-chart.md +4 -4
  224. package/extended/examples/miscellaneous/infographic.md +1 -1
  225. package/extended/examples/miscellaneous/mekko.md +1 -1
  226. package/extended/examples/miscellaneous/micro-charts-sparklines.md +1 -1
  227. package/extended/examples/miscellaneous/pictogram.md +3 -5
  228. package/extended/examples/miscellaneous/population-pyramid.md +1 -1
  229. package/extended/examples/miscellaneous/progress-chart.md +2 -2
  230. package/extended/examples/miscellaneous/range-bullet-chart.md +1 -1
  231. package/extended/examples/miscellaneous/sentence-cloud.md +10 -19
  232. package/extended/examples/miscellaneous/spectrum-chart.md +4 -4
  233. package/extended/examples/miscellaneous/strip-plot.md +1 -1
  234. package/extended/examples/miscellaneous/tag-cloud.md +5 -4
  235. package/extended/examples/miscellaneous/tile-map.md +1 -1
  236. package/extended/examples/miscellaneous/venn-diagram-with-patterns.md +8 -8
  237. package/extended/examples/miscellaneous/venn-diagram.md +8 -8
  238. package/extended/examples/miscellaneous/vertically-stacked-axes-chart.md +1 -1
  239. package/extended/examples/miscellaneous/violin-chart.md +1 -1
  240. package/extended/examples/miscellaneous/word-cloud.md +11 -10
  241. package/extended/examples/pie-donut/animated-time-line-pie-chart.md +1 -1
  242. package/extended/examples/pie-donut/donut-chart.md +1 -1
  243. package/extended/examples/pie-donut/donut-with-radial-gradient.md +2 -2
  244. package/extended/examples/pie-donut/dragging-pie-slices.md +1 -1
  245. package/extended/examples/pie-donut/grained-gradient-pie.md +1 -1
  246. package/extended/examples/pie-donut/nested-donut-chart.md +4 -4
  247. package/extended/examples/pie-donut/pie-chart-broken-slices.md +1 -1
  248. package/extended/examples/pie-donut/pie-chart-with-legend.md +1 -1
  249. package/extended/examples/pie-donut/pie-chart.md +3 -3
  250. package/extended/examples/pie-donut/pie-of-a-pie.md +1 -1
  251. package/extended/examples/pie-donut/semi-circle-pie-chart.md +1 -1
  252. package/extended/examples/pie-donut/simple-pie-chart.md +4 -3
  253. package/extended/examples/pie-donut/two-level-pie-chart.md +1 -1
  254. package/extended/examples/pie-donut/two-pie-charts-with-single-legend.md +1 -1
  255. package/extended/examples/pie-donut/variable-radius-nested-donut-chart.md +2 -3
  256. package/extended/examples/pie-donut/variable-radius-nested-pie.md +1 -1
  257. package/extended/examples/pie-donut/variable-radius-pie-chart.md +1 -1
  258. package/extended/examples/radar-polar/flower-chart.md +1 -1
  259. package/extended/examples/radar-polar/live-sorting-of-radar-columns.md +4 -11
  260. package/extended/examples/radar-polar/polar-area-chart.md +1 -1
  261. package/extended/examples/radar-polar/polar-chart.md +1 -1
  262. package/extended/examples/radar-polar/polar-scatter.md +1 -1
  263. package/extended/examples/radar-polar/radar-chart-visualizing-yearly-activities.md +3 -4
  264. package/extended/examples/radar-polar/radar-chart.md +1 -1
  265. package/extended/examples/radar-polar/radar-heat-map.md +1 -1
  266. package/extended/examples/radar-polar/radar-timeline.md +1 -1
  267. package/extended/examples/radar-polar/radar-with-date-axis.md +1 -1
  268. package/extended/examples/radar-polar/radial-bar-chart.md +1 -1
  269. package/extended/examples/radar-polar/radial-histogram.md +4 -12
  270. package/extended/examples/radar-polar/radial-line-graph.md +1 -1
  271. package/extended/examples/radar-polar/stacked-area-radar.md +2 -3
  272. package/extended/examples/radar-polar/variable-radius-radar.md +1 -1
  273. package/extended/examples/radar-polar/wheel-of-life.md +1 -1
  274. package/extended/examples/radar-polar/zoomable-radar.md +1 -1
  275. package/extended/examples/stock/changing-data-granularity.md +1 -1
  276. package/extended/examples/stock/live-stock-data.md +1 -1
  277. package/extended/examples/stock/separate-volume-panel.md +1 -1
  278. package/extended/examples/stock/stock-chart-comparing-prices.md +1 -1
  279. package/extended/examples/stock/stock-chart-with-bollinger-bands-indicator.md +1 -1
  280. package/extended/examples/stock/stock-chart-with-relative-strength-index.md +1 -1
  281. package/extended/examples/stock/stock-chart-with-volume-profile.md +1 -1
  282. package/extended/examples/stock/stock-chart.md +1 -1
  283. package/extended/examples/stock/stock-data-grouping.md +1 -1
  284. package/extended/examples/stock/stock-intraday-data.md +1 -1
  285. package/extended/examples/timeline/horizontal-serpentine-timeline.md +4 -6
  286. package/extended/examples/timeline/infinity-timeline.md +3 -3
  287. package/extended/examples/timeline/linear-process-diagram.md +1 -1
  288. package/extended/examples/timeline/serpentine-timeline-chart.md +4 -6
  289. package/extended/examples/timeline/spiral-timeline.md +3 -6
  290. package/extended/examples/timeline/stadium-track-chart.md +1 -1
  291. package/extended/examples/xy-bubble/animated-xy-bubble-timeline-chart.md +1 -1
  292. package/extended/examples/xy-bubble/beeswarm.md +1 -1
  293. package/extended/examples/xy-bubble/bubble-based-heat-map.md +4 -4
  294. package/extended/examples/xy-bubble/bubble-chart-with-pie-bullets.md +1 -1
  295. package/extended/examples/xy-bubble/bubble-chart.md +1 -1
  296. package/extended/examples/xy-bubble/irregular-interval-xy.md +1 -1
  297. package/extended/examples/xy-bubble/motion-chart.md +2 -5
  298. package/extended/examples/xy-bubble/scatter-chart.md +1 -1
  299. package/extended/examples/xy-bubble/scatter-plot-with-tens-of-thousands-points.md +7 -5
  300. package/extended/examples/xy-bubble/xy-chart-date-based-axis.md +1 -1
  301. package/extended/examples/xy-bubble/xy-chart-fills-axis.md +1 -1
  302. package/extended/examples/xy-bubble/xy-chart-value-based-line-graphs.md +1 -1
  303. package/extended/examples/xy-bubble/xy-error-chart.md +2 -5
  304. package/extended/examples/xy-bubble/zoomable-bubble-chart.md +2 -5
  305. package/extended/reference/animationoptions.md +1 -0
  306. package/extended/reference/chartserializer.md +10 -1
  307. package/extended/reference/entity.md +5 -2
  308. package/extended/reference/ibasecolumnseriesdataitem.md +1 -0
  309. package/extended/reference/ibasecolumnseriessettings.md +2 -0
  310. package/extended/reference/ichartserializersettings.md +13 -16
  311. package/extended/reference/ideclaredanimation.md +57 -0
  312. package/extended/reference/ieasinginfo.md +29 -0
  313. package/extended/reference/ientitysettings.md +5 -2
  314. package/extended/reference/imapchartsettings.md +2 -0
  315. package/extended/reference/imaplineseriesdataitem.md +1 -0
  316. package/extended/reference/imaplineseriessettings.md +2 -0
  317. package/extended/reference/imappointseriesdataitem.md +4 -2
  318. package/extended/reference/imappointseriessettings.md +7 -3
  319. package/extended/reference/iparsesettings.md +9 -3
  320. package/extended/reference/irootsettings.md +4 -0
  321. package/extended/reference/iscrollbarsettings.md +1 -0
  322. package/extended/reference/iserialchartcontainersettings.md +16 -0
  323. package/extended/reference/iserializersettings.md +2 -1
  324. package/extended/reference/iseriesdataitem.md +1 -0
  325. package/extended/reference/iseriessettings.md +2 -0
  326. package/extended/reference/mapchart.md +4 -0
  327. package/extended/reference/mappointseries.md +7 -3
  328. package/extended/reference/serialchart.md +1 -1
  329. package/extended/reference/serialchartcontainer.md +34 -0
  330. package/extended/reference/serializer.md +2 -1
  331. package/extended/reference/series.md +2 -0
  332. package/package.json +5 -2
  333. package/src/tools.js +73 -21
@@ -60,27 +60,19 @@ Comment
60
60
 
61
61
  Remove the empty objects from the resulting JSON.
62
62
 
63
- `includeProjection`
64
-
65
- `boolean`
66
-
67
- `false`
68
-
69
- Include `projection` setting for `MapChart`.
70
-
71
63
  `includeStates`
72
64
 
73
65
  `boolean`
74
66
 
75
- `false`
67
+ `true`
76
68
 
77
69
  Include element and template states.
78
70
 
79
71
  `includeAdapters`
80
72
 
81
- boolean
73
+ `boolean`
82
74
 
83
- `false`
75
+ `true`
84
76
 
85
77
  Include adapters in the output.
86
78
 
@@ -92,17 +84,55 @@ Include adapters in the output.
92
84
 
93
85
  Export functions as references or stringify them.
94
86
 
95
- The below instructs serializer to include both states and adapters in the output:
87
+ `includeRoot`
88
+
89
+ `boolean`
90
+
91
+ `false`
92
+
93
+ Add a top-level `root` section with the `Root` object's settings and properties (`interfaceColors`, formatters, `utc`, `fps`, `tabindex`) to the output. `JsonParser` applies a `root` section before parsing the chart. *(5.20.2)*
94
+
95
+ `runningAnimations`
96
+
97
+ `boolean`
98
+
99
+ `true`
100
+
101
+ Write an animation started in code that loops forever (`loops: Infinity`) into the element's `animations` setting, so the parsed chart plays it too. See "Animations" below. *(5.20.8)*
102
+
103
+ **What gets serialized (5.20.3+):** only **user-set** settings — theme and library defaults are left out, so the output is much smaller than in earlier versions and a value you never set will not appear. Chart-set values and data a chart builds for itself (a flow's nodes, a word cloud's words) are not written. Objects pointing at one another are written as references (e.g. `"@series.get('fill')"`) instead of copies, and big values (a map's `geoJSON`, a `Root`'s locale) are written as the name of the pack they came from and rebuilt on parse. Since 5.20.7 a map series' data rows no longer carry the properties the map copies onto them from its geodata (`name`, and on some maps `CNTRY`, `TYPE`) — only values that differ from the feature's are written, and a row left with nothing but its id is dropped.
104
+
105
+ Both states and adapters are included by default. The below instructs serializer to leave them out of the output:
96
106
 
97
107
  const serializer = am5plugins\_json.ChartSerializer.new(root, {
98
- includeAdapters: true,
99
- includeProjection: true
108
+ includeStates: false,
109
+ includeAdapters: false
100
110
  });
101
111
 
102
112
  var serializer = am5plugins\_json.ChartSerializer.new(root, {
103
- includeAdapters: true,
104
- includeProjection: true
113
+ includeStates: false,
114
+ includeAdapters: false
115
+ });
116
+
117
+ ### Animations (5.20.8)
118
+
119
+ An element's `animations` setting (see "[Animations: Declarative animations](https://www.amcharts.com/docs/v5/concepts/animations/)") is written as configured. A setting one of its entries animates is written with the value it was configured with, never one caught mid-animation.
120
+
121
+ With `runningAnimations: true` (the default) *(5.20.8)*, an animation started in code with `animate()` that loops forever (`loops: Infinity`) and uses a named easing is written as an `animations` entry (`{ key, from, to, duration, loops: 0 }`, plus `easing`, `ease` and `yoyo` where they apply), and the setting it animates is left out of the output. A globe that keeps turning or a bullet that keeps pulsing thus plays on in the parsed chart.
122
+
123
+ Never written:
124
+
125
+ - Animations that end: `appear()`, state transitions, zooming, any `animate()` with a finite `loops`.
126
+ - Animations whose easing is a function of your own, a wrapped `am5.ease.pow`, or an easing that cannot be named (e.g. `am5.ease.out(am5.ease.yoyo(...))`). `am5.ease.easingInfo()` tells whether an easing has a name.
127
+ - As of 5.20.8, a loop started in code on a **data item** (e.g. `dataItem.animate({ key: "positionOnLine", loops: Infinity })`). Declare it as an `animations` entry with `target: "dataItem"` on the bullet's sprite instead.
128
+
129
+ To turn this off:
130
+
131
+ ```javascript
132
+ var serializer = am5plugins_json.ChartSerializer.new(root, {
133
+ runningAnimations: false
105
134
  });
135
+ ```
106
136
 
107
137
  ### Including related elements
108
138
 
@@ -110,23 +140,29 @@ var serializer = am5plugins\_json.ChartSerializer.new(root, {
110
140
 
111
141
  The serializer will detect `Legend` or `HeatLegend` and include it in the output if its a child of one of the chart's built-in containers, like `rightAxesContainer`, its series or the chart itself.
112
142
 
143
+ Since 5.20.7 a legend placed inside an axis header (`axisHeader`) round-trips too. Before, parsing such a config failed with "Could not find ref", because the legend names a series defined further down the config (see "[Grouping referenced objects](https://www.amcharts.com/docs/v5/concepts/serializing/#Grouping_referenced_objects)").
144
+
113
145
  #### Custom elements
114
146
 
115
147
  Custom elements, like labels and the like, will not be included in the output unless the have a `"serialize"` in their `themeTags`:
116
148
 
117
149
  pieSeries.children.push(am5.Label.new(root, {
118
- text: "Hello,
150
+ text: "Hello",
119
151
  x: am5.p50,
120
152
  y: am5.p50,
121
153
  themeTags: \["serialize"\]
122
- });
154
+ }));
123
155
 
124
156
  pieSeries.children.push(am5.Label.new(root, {
125
- text: "Hello,
157
+ text: "Hello",
126
158
  x: am5.p50,
127
159
  y: am5.p50,
128
160
  themeTags: \["serialize"\]
129
- });
161
+ }));
162
+
163
+ #### Theme tags (5.20.6)
164
+
165
+ Since 5.20.6 the `themeTags` you give an element are written to the output too, so anything styled through them (e.g. a `Button` with `themeTags: ["switch"]`) keeps that styling when the config is parsed again. Only tags passed to the element's `.new()` call are written — tags added later via `set("themeTags", …)`, and tags the library adds itself, are left out. On parse, the tags are added to the ones an existing element already has rather than replacing them.
130
166
 
131
167
  ## Supported chart types
132
168
 
@@ -137,24 +173,28 @@ pieSeries.children.push(am5.Label.new(root, {
137
173
  - Venn
138
174
  - WordCloud
139
175
  - MapChart
176
+ - Gantt *(5.20.3)*
140
177
 
141
178
  ## Limitations
142
179
 
143
180
  ### Limited functionality
144
181
 
145
- - Bullets (series or axis): No support for bullets that reference outside objects or context-based bullets (where bullet code depends on context to determine its appearance)
182
+ - Bullets (series or axis): No support for bullets that reference outside objects or context-based bullets (where bullet code depends on context to determine its appearance). Declare bullet factories as `function(root, series, dataItem)` — a factory that closes over an outer `root` dangles on re-bind.
146
183
  - Bullets or adapters that rely on global variables. Parser runs in a different scope, thus global variables might not be available.
184
+ - **Adapters do not round-trip.** With `includeAdapters: true` (the default) each adapter is written as `{ key, callback: "function (…) {…}" }` (a string) — `JsonParser` does not turn it back into a function. Before 5.20.4 the string was registered as a callback and crashed the chart (`i[s] is not a function` in `Entity.fold`); since 5.20.4 such adapters are skipped on parse. Prefer declarative equivalents (`colorByDataItem` on column series, per-item `fill` + `templateField`, `heatRules`).
185
+ - **Serialize the chart's top-level container child, not a bare series.** A series whose settings point back at itself (e.g. `selectedDataItem`, a `DataItem` whose `component` is the series) forms a cycle; serialized on its own it overflows `removeEmptyObjects` pruning or makes `JSON.stringify` throw "Converting circular structure". As a child of the serialized container it becomes a `#series-0` reference and the cycle disappears.
186
+ - A bullet heat rule's throwaway sprite (created while the serializer introspects the bullet factory) has no `dataItem`; as of 5.20.8 the heat-rule loop then throws and, on a `LineSeries`, the stroke disappears. Have the factory call `sprite._setDataItem(dataItem)` or serialize before adding the rule.
147
187
 
148
188
  ### Unsupported features
149
189
 
150
- - Maps: Projections
190
+ - Maps: projections that are not registered by name. A projection set via `projectionName`, one of the bundled factories (`am5map.geoMercator()`, `am5map.geoOrthographic()`, etc.), or the factory returned by `am5map.registerProjection()` is written as `projectionName` and round-trips.
151
191
  - Bullets: Full charts in bullets
152
- - Axes: Legend inside axis header
153
192
  - Templates: `setup` function
154
193
  - Custom draw functions
155
194
  - Events
195
+ - `ZoomableContainer`: its `contents.children` and any `ZoomTools` are not serialized — a serialized `ZoomableContainer` parses back empty. Use `SerialChartContainer` (5.20.2), which builds its own zoomable wrapper, or re-wrap in code after parsing.
196
+ - Venn: `hoverGraphics` and slice-template `states` are not serialized — re-apply a custom hover in code after parsing.
156
197
 
157
198
  ### Unsupported chart types
158
199
 
159
- - Gantt
160
200
  - StockChart
@@ -22,6 +22,7 @@ Supported features:
22
22
  - Properties
23
23
  - Settings
24
24
  - Adapters
25
+ - Declared animations — the `animations` setting *(5.20.8)*, see "[Animations](https://www.amcharts.com/docs/v5/concepts/animations/)". In a JSON config, colors and percents in an entry's `from`/`to` use the object form (`{ "type": "Color", "value": "#f00" }`, `{ "type": "Percent", "value": 50 }`).
25
26
 
26
27
  Unsupported features:
27
28
 
@@ -343,6 +344,8 @@ The items in the array will be processed one by one, so that references from the
343
344
 
344
345
  This way, a value can reference to any object from previous items.
345
346
 
347
+ Since 5.20.7, a setting or property value that names a ref defined further down the config (later in the same `refs` object, or in a later group) no longer fails with "Could not find ref" — it is resolved after the rest of the config has been parsed. This is what makes e.g. a legend inside an axis header that lists a series defined later work. Groups are still the way to make sure an object is fully built before something uses it, and they are still required for [axis range](#Axis_ranges) definitions: a range's `axis` and `series` are looked up immediately, so the referenced axis and series need to come first, in an earlier group.
348
+
346
349
  {
347
350
  type: "XYChart",
348
351
  refs: \[{
@@ -659,6 +662,8 @@ Since adapters are functions, they can't technically be part of a serialized JSO
659
662
  }\]
660
663
  }
661
664
 
665
+ **Adapters and JSON round-trips:** a function reference works only when the config is a JavaScript object in the same scope. Once the config has been through `JSON.stringify` (or `ChartSerializer` with `functionsAs: "string"`), the callback is a string — `JsonParser` does not evaluate it, and since 5.20.4 such an adapter is skipped (before that it was registered as-is and crashed the chart with `i[s] is not a function`). Effects that must survive a round-trip need a declarative equivalent: `colorByDataItem` on column series (5.20.4), a per-item `fill` field with `templateField`, or `heatRules`.
666
+
662
667
  ## Parsing
663
668
 
664
669
  To parse serialized configs, we'll need:
@@ -679,6 +684,18 @@ parser.parse({
679
684
  // ...
680
685
  });
681
686
 
687
+ ### Parse options (`IParseSettings`)
688
+
689
+ The second argument of `parse()` is an options object — these are **not** settings of the parser itself:
690
+
691
+ - `parent` — a `Container` to place the parsed chart into.
692
+ - `updateTargets` *(5.20.3)* — `"strict"` (default): when the source object has a `type`, a new object of that type is created and replaces the existing one. `"soft"`: if source and target are the same type, only settings are applied onto the existing object (as if `type` had not been specified); objects are replaced only when the types differ. Use `"soft"` to update a live chart from a modified config without rebuilding it.
693
+
694
+ var parser = am5plugins\_json.JsonParser.new(root);
695
+ parser.parse(config, { parent: root.container, updateTargets: "soft" });
696
+
697
+ A config may also carry a top-level `root` section *(5.20.2)* whose `settings`/`properties` are applied to the `Root` object before the chart is parsed (`ChartSerializer` writes one when `includeRoot: true`).
698
+
682
699
  ### Post-parse handler
683
700
 
684
701
  The `parse()` method is asynchronous and returns a `Promise`.
@@ -99,6 +99,30 @@ And the data:
99
99
  }\];
100
100
 
101
101
 
102
+ ## Backgrounds (5.20.7)
103
+
104
+ A container's `background` (e.g. the background of a `Label`) has no data item of its own. Since 5.20.7, a background that has its own `templateField` reads the data item of the container it belongs to, so a background can be set per data item — for example, a different label background on each bullet:
105
+
106
+ ```javascript
107
+ series.bullets.push(function (root, series, dataItem) {
108
+ return am5.Bullet.new(root, {
109
+ sprite: am5.Label.new(root, {
110
+ text: "{valueY}",
111
+ populateText: true,
112
+ background: am5.RoundedRectangle.new(root, {
113
+ templateField: "labelBg"
114
+ })
115
+ })
116
+ });
117
+ });
118
+
119
+ // Data
120
+ // { date: ..., value: 1000, labelBg: { fill: am5.color(0xff0000) } }
121
+ ```
122
+
123
+ Before 5.20.7 such a `templateField` on a background was never applied.
124
+
125
+
102
126
  ## Bullets
103
127
 
104
128
  There are some caveats involved when using template fields with bullets.
@@ -2,10 +2,11 @@
2
2
  title: "Box Plot Chart"
3
3
  source: "https://www.amcharts.com/demos/box-plot-chart/"
4
4
  category: "candlestick-ohlc"
5
- scraped: "2026-03-15"
5
+ scraped: "2026-09-29"
6
6
  ---
7
7
 
8
- Box plot chart (also know as boxplot, box-and-whisker plot, box-and-whisker diagram) is a way of displaying statistical data based on five numbers: minimum, first quartile (25th percent), median, third quartile (75th percent) and maximum.
8
+ Box plot chart (also known as boxplot, box-and-whisker plot, box-and-whisker diagram) is a way of displaying statistical data based on five numbers: minimum, first quartile (25th percentile), median, third quartile (75th percentile) and maximum.
9
+ In this JavaScript box plot, each day's distribution is drawn with a CandlestickSeries: the box spans the first to the third quartile, and the whiskers reach the minimum and maximum. The median is a StepLineSeries with noRisers: true, which draws a horizontal line inside each box.
9
10
  XY chart
10
11
  Candlestick series
11
12
  Step line series
@@ -65,32 +66,35 @@ var series = chart.series.push(
65
66
  am5xy.CandlestickSeries.new(root, {
66
67
  fill: color,
67
68
  stroke: color,
68
- name: "MDXI",
69
+ name: "Distribution",
69
70
  xAxis: xAxis,
70
71
  yAxis: yAxis,
71
- valueYField: "close",
72
- openValueYField: "open",
73
- lowValueYField: "low",
74
- highValueYField: "high",
72
+ // Box: first quartile (Q1) to third quartile (Q3); whiskers: minimum to maximum
73
+ valueYField: "q3",
74
+ openValueYField: "q1",
75
+ lowValueYField: "min",
76
+ highValueYField: "max",
75
77
  valueXField: "date",
76
78
  tooltip: am5.Tooltip.new(root, {
77
79
  pointerOrientation: "horizontal",
78
- labelText: "open: {openValueY}
79
- low: {lowValueY}
80
- high: {highValueY}
81
- close: {valueY},
82
- mediana: {mediana}"
80
+ labelText: "Max: {highValueY}\nQ3: {valueY}\nMedian: {median}\nQ1: {openValueY}\nMin: {lowValueY}"
83
81
  })
84
82
  })
85
83
  );
86
84
 
87
- // mediana series
88
- var medianaSeries = chart.series.push(
85
+ // Box plots use one colour: override the candlestick rise/drop colouring
86
+ var boxColor = chart.get("colors").getIndex(0);
87
+ am5.array.each(["riseFromOpen", "dropFromOpen", "riseFromPrevious", "dropFromPrevious"], function(state) {
88
+ series.columns.template.states.create(state, { fill: boxColor, stroke: boxColor });
89
+ });
90
+
91
+ // Median line inside each box
92
+ var medianSeries = chart.series.push(
89
93
  am5xy.StepLineSeries.new(root, {
90
94
  stroke: root.interfaceColors.get("background"),
91
95
  xAxis: xAxis,
92
96
  yAxis: yAxis,
93
- valueYField: "mediana",
97
+ valueYField: "median",
94
98
  valueXField: "date",
95
99
  noRisers: true
96
100
  })
@@ -103,95 +107,96 @@ var cursor = chart.set("cursor", am5xy.XYCursor.new(root, {
103
107
  }));
104
108
  cursor.lineY.set("visible", false);
105
109
 
110
+ // Five-number summary for each day: minimum, first quartile, median, third quartile, maximum
106
111
  var data = [
107
112
  {
108
- date: "2019-08-01",
109
- open: 132.3,
110
- high: 136.96,
111
- low: 131.15,
112
- close: 136.49
113
+ date: "2027-08-01",
114
+ min: 124.1,
115
+ q1: 129.6,
116
+ median: 132.2,
117
+ q3: 134.8,
118
+ max: 139.5
113
119
  },
114
120
  {
115
- date: "2019-08-02",
116
- open: 135.26,
117
- high: 135.95,
118
- low: 131.5,
119
- close: 131.85
121
+ date: "2027-08-02",
122
+ min: 122.8,
123
+ q1: 128.4,
124
+ median: 131.0,
125
+ q3: 133.9,
126
+ max: 140.2
120
127
  },
121
128
  {
122
- date: "2019-08-03",
123
- open: 129.9,
124
- high: 133.27,
125
- low: 128.3,
126
- close: 132.25
129
+ date: "2027-08-03",
130
+ min: 125.6,
131
+ q1: 130.1,
132
+ median: 133.4,
133
+ q3: 136.2,
134
+ max: 142.8
127
135
  },
128
136
  {
129
- date: "2019-08-04",
130
- open: 132.94,
131
- high: 136.24,
132
- low: 132.63,
133
- close: 135.03
137
+ date: "2027-08-04",
138
+ min: 127.3,
139
+ q1: 131.8,
140
+ median: 134.0,
141
+ q3: 137.5,
142
+ max: 144.1
134
143
  },
135
144
  {
136
- date: "2019-08-05",
137
- open: 136.76,
138
- high: 137.86,
139
- low: 132.0,
140
- close: 134.01
145
+ date: "2027-08-05",
146
+ min: 123.9,
147
+ q1: 129.2,
148
+ median: 131.7,
149
+ q3: 134.3,
150
+ max: 138.6
141
151
  },
142
152
  {
143
- date: "2019-08-06",
144
- open: 131.11,
145
- high: 133.0,
146
- low: 125.09,
147
- close: 126.39
153
+ date: "2027-08-06",
154
+ min: 121.4,
155
+ q1: 127.5,
156
+ median: 130.3,
157
+ q3: 133.1,
158
+ max: 137.9
148
159
  },
149
160
  {
150
- date: "2019-08-07",
151
- open: 130.11,
152
- high: 133.0,
153
- low: 125.09,
154
- close: 127.39
161
+ date: "2027-08-07",
162
+ min: 124.8,
163
+ q1: 130.6,
164
+ median: 133.9,
165
+ q3: 137.0,
166
+ max: 143.4
155
167
  },
156
168
  {
157
- date: "2019-08-08",
158
- open: 125.11,
159
- high: 126.0,
160
- low: 121.09,
161
- close: 122.39
169
+ date: "2027-08-08",
170
+ min: 126.2,
171
+ q1: 131.4,
172
+ median: 134.6,
173
+ q3: 138.1,
174
+ max: 145.0
162
175
  },
163
176
  {
164
- date: "2019-08-09",
165
- open: 131.11,
166
- high: 133.0,
167
- low: 122.09,
168
- close: 124.39
177
+ date: "2027-08-09",
178
+ min: 125.0,
179
+ q1: 130.2,
180
+ median: 132.8,
181
+ q3: 135.9,
182
+ max: 141.7
169
183
  }
170
184
  ];
171
185
 
172
- addMediana();
173
-
174
- function addMediana() {
175
- for (var i = 0; i < data.length; i++) {
176
- var dataItem = data[i];
177
- dataItem.mediana =
178
- Number(dataItem.low) + (Number(dataItem.high) - Number(dataItem.low)) / 2;
179
- }
180
- }
181
-
182
186
  series.data.processor = am5.DataProcessor.new(root, {
183
187
  dateFields: ["date"],
184
188
  dateFormat: "yyyy-MM-dd"
185
189
  });
186
190
 
187
191
  series.data.setAll(data);
188
- medianaSeries.data.setAll(data);
192
+ medianSeries.data.setAll(data);
189
193
 
190
194
  // Make stuff animate on load
191
195
  // https://www.amcharts.com/docs/v5/concepts/animations/
192
196
  series.appear(1000, 100);
193
- medianaSeries.appear(1000, 100);
194
- chart.appear(1000, 100);
197
+ medianSeries.appear(1000, 100);
198
+ chart.appear(1000, 100);
199
+
195
200
  ```
196
201
 
197
202
  ## HTML
@@ -2,7 +2,7 @@
2
2
  title: "Candlestick Chart"
3
3
  source: "https://www.amcharts.com/demos/candlestick-chart/"
4
4
  category: "candlestick-ohlc"
5
- scraped: "2026-03-15"
5
+ scraped: "2026-09-29"
6
6
  ---
7
7
 
8
8
  Candlestick chart is one of the most common ways to display financial data such as stock trading prices over time. Creating candlestick charts with amCharts is really easy and you get a lot of advanced features such as grouping right out of the box (try zooming in and out).
@@ -121,10 +121,7 @@ var series = chart.series.push(
121
121
  legendRangeValueText: "{valueYClose}",
122
122
  tooltip: am5.Tooltip.new(root, {
123
123
  pointerOrientation: "horizontal",
124
- labelText: "open: {openValueY}
125
- low: {lowValueY}
126
- high: {highValueY}
127
- close: {valueY}"
124
+ labelText: "open: {openValueY}\nlow: {lowValueY}\nhigh: {highValueY}\nclose: {valueY}"
128
125
  })
129
126
  })
130
127
  );
@@ -2,7 +2,7 @@
2
2
  title: "OHLC Chart"
3
3
  source: "https://www.amcharts.com/demos/ohlc-chart/"
4
4
  category: "candlestick-ohlc"
5
- scraped: "2026-03-15"
5
+ scraped: "2026-09-29"
6
6
  ---
7
7
 
8
8
  The OHLC chart is a very popular way to display financial (and other) data over time with open, high, low, and close values for periods.
@@ -115,10 +115,7 @@ var series = chart.series.push(am5xy.OHLCSeries.new(root, {
115
115
  legendRangeValueText: "{valueYClose}",
116
116
  tooltip: am5.Tooltip.new(root, {
117
117
  pointerOrientation: "horizontal",
118
- labelText: "open: {openValueY}
119
- low: {lowValueY}
120
- high: {highValueY}
121
- close: {valueY}"
118
+ labelText: "open: {openValueY}\nlow: {lowValueY}\nhigh: {highValueY}\nclose: {valueY}"
122
119
  })
123
120
  }));
124
121
 
@@ -170,7 +167,7 @@ var sbseries = scrollbar.chart.series.push(am5xy.LineSeries.new(root, {
170
167
 
171
168
  // Add legend
172
169
  // https://www.amcharts.com/docs/v5/charts/xy-chart/legend-xy-series/
173
- var legend = yAxis.axisHeader.children.push(
170
+ var legend = chart.plotContainer.children.push(
174
171
  am5.Legend.new(root, {})
175
172
  );
176
173
 
@@ -2,18 +2,18 @@
2
2
  title: "On-Demand Data Loading"
3
3
  source: "https://www.amcharts.com/demos/on-demand-data-loading/"
4
4
  category: "candlestick-ohlc"
5
- scraped: "2026-03-15"
5
+ scraped: "2026-09-29"
6
6
  ---
7
7
 
8
8
  This demo shows a sample Stock chart setup which can load its data on-demand.
9
9
  Try panning the chart chart, zooming, switching granularity. The code will gracefully handle loading missing data from the backend.
10
10
  It relies on a few of the technologies implemented in amCharts 5:
11
- Incremental data loading
12
- CSV data loading and parsing
13
- Stacked axes
14
- Incremental on-demand data loading (commentary about the code behind this demo)
15
- Stacked axes
16
- XY chart
11
+ Incremental data loading
12
+ CSV data loading and parsing
13
+ Stacked axes
14
+ Incremental on-demand data loading (commentary about the code behind this demo)
15
+ Stacked axes
16
+ XY chart
17
17
 
18
18
  ## JavaScript
19
19
 
@@ -2,7 +2,7 @@
2
2
  title: "Professional Candlesticks"
3
3
  source: "https://www.amcharts.com/demos/professional-candlesticks/"
4
4
  category: "candlestick-ohlc"
5
- scraped: "2026-03-15"
5
+ scraped: "2026-09-29"
6
6
  ---
7
7
 
8
8
  Professional candlestick chart is similar to the "regular" candlestick chart but applies different coloring logic. You may notice that some candlesticks are filled and some are hollow. More about this type of candlesticks can be found in the docs.
@@ -120,10 +120,7 @@ var series = chart.series.push(
120
120
  legendRangeValueText: "{valueYClose}",
121
121
  tooltip: am5.Tooltip.new(root, {
122
122
  pointerOrientation: "horizontal",
123
- labelText: "open: {openValueY}
124
- low: {lowValueY}
125
- high: {highValueY}
126
- close: {valueY}"
123
+ labelText: "open: {openValueY}\nlow: {lowValueY}\nhigh: {highValueY}\nclose: {valueY}"
127
124
  })
128
125
  })
129
126
  );
@@ -183,7 +180,7 @@ var sbseries = scrollbar.chart.series.push(
183
180
 
184
181
  // Add legend
185
182
  // https://www.amcharts.com/docs/v5/charts/xy-chart/legend-xy-series/
186
- var legend = yAxis.axisHeader.children.push(am5.Legend.new(root, {}));
183
+ var legend = chart.plotContainer.children.push(am5.Legend.new(root, {}));
187
184
 
188
185
  legend.data.push(series);
189
186
 
@@ -2,7 +2,7 @@
2
2
  title: "Stock Chart Candlesticks"
3
3
  source: "https://www.amcharts.com/demos/stock-chart-candlesticks/"
4
4
  category: "candlestick-ohlc"
5
- scraped: "2026-03-15"
5
+ scraped: "2026-09-29"
6
6
  ---
7
7
 
8
8
  You can create your typical stock charts with amCharts XYChart. In this example we create a candlestick stock price graph and a volume graph under it.
@@ -2,15 +2,15 @@
2
2
  title: "100% Stacked Column Chart"
3
3
  source: "https://www.amcharts.com/demos/100-stacked-column-chart/"
4
4
  category: "column-bar"
5
- scraped: "2026-03-15"
5
+ scraped: "2026-09-29"
6
6
  ---
7
7
 
8
8
  100% stacked column or bar chart is a good way to display some categories of a whole changing over time. For example, a company may use 100% stacked column chart to display what product lines contributed to its revenue by calendar quarter. The downside is that in such a chart it is quite difficult to visually compare the changes over time (except for the first item/series).
9
9
  Key implementation details
10
10
  You don't need to perform percentage calculations in your code. You can pass your real values to amCharts and the chart will do the rest. For this purpose, we enable calculateTotals (more info here) on the value axis (the Y-axis in this case) and set its range to 0 to 100 (plus enforce it with strictMinMax to disable "smart" min/max features).
11
11
  Then, in our series we set the valueYField to our real value, as usual. But after that we take advantage of the "Display fields" feature in amCharts. Display fields allow us to reference derivative calculated values instead of raw values from our data set. In this case we want to set our respective display field (valueYFieldShow) to display the percentage share of our real value. For this we set it to the valueYTotalPercent calculated field.
12
- Calculated values&nbsp;on value axes
13
- Display fields - a way to show alternative values
12
+ Calculated values on value axes
13
+ Display fields - a way to show alternative values
14
14
 
15
15
  ## JavaScript
16
16
 
@@ -2,7 +2,7 @@
2
2
  title: "Bar and Line Chart Mix"
3
3
  source: "https://www.amcharts.com/demos/bar-and-line-chart-mix/"
4
4
  category: "column-bar"
5
- scraped: "2026-03-15"
5
+ scraped: "2026-09-29"
6
6
  ---
7
7
 
8
8
  Mixing bar and line chart in the same visual is a good way to emphasize the difference between series while still maintaining their relationship.
@@ -40,13 +40,6 @@ var chart = root.container.children.push(am5xy.XYChart.new(root, {
40
40
  }));
41
41
 
42
42
 
43
- // Add legend
44
- // https://www.amcharts.com/docs/v5/charts/xy-chart/legend-xy-series/
45
- var legend = chart.children.push(am5.Legend.new(root, {
46
- centerX: am5.p50,
47
- x: am5.p50
48
- }))
49
-
50
43
  var data = [{
51
44
  "year": "2005",
52
45
  "income": 23.5,
@@ -112,8 +105,7 @@ var series1 = chart.series.push(am5xy.ColumnSeries.new(root, {
112
105
  sequencedInterpolation: true,
113
106
  tooltip: am5.Tooltip.new(root, {
114
107
  pointerOrientation: "horizontal",
115
- labelText: "[bold]{name}[/]
116
- {categoryY}: {valueX}"
108
+ labelText: "[bold]{name}[/]\n{categoryY}: {valueX}"
117
109
  })
118
110
  }));
119
111
 
@@ -131,8 +123,7 @@ var series2 = chart.series.push(am5xy.LineSeries.new(root, {
131
123
  sequencedInterpolation: true,
132
124
  tooltip: am5.Tooltip.new(root, {
133
125
  pointerOrientation: "horizontal",
134
- labelText: "[bold]{name}[/]
135
- {categoryY}: {valueX}"
126
+ labelText: "[bold]{name}[/]\n{categoryY}: {valueX}"
136
127
  })
137
128
  }));
138
129