Charts were parked in Lab 11 with the form work done: sixteen measures matched to forms, six popular charts rejected with reasons, the palette validated. What stayed open was the engine and the ambition. The brief now has three tiers: the easy data (bars and lines), the shaped data (the RSS radar), and the instruments (a heat map of where sales come from, the globe, and more like it). Four candidates were benched: your three, ApexCharts, AG Charts and MUI X Charts, and one challenger this lab proposes. Performance and security were scored as hard criteria, from verified sources, not marketing pages.
The recommendation: Apache ECharts, one engine for all three tiers. It is the only candidate that covers the whole brief in its free, governed core, and the only one whose accessibility layer natively draws the system's own hatched fills.
Seeing beats reading: the live annex renders every tier in the browser with the engine itself, on the system's theme: the hatched open month, the RSS radar against the average, the destination heat map on our own topology, the money flow with its shares, and the service tickets month.
Drawn fresh from the Untitled kit and the system’s ruled tokens, not restyled from the originals.
A finished month is solid; the running month is hatched, the fill rule’s chart job. Animation off on every series.
The GL extension (BSD licensed, last published this year) is verified compatible with ECharts 5.x; its compatibility with 6.0 must be proven in a spike before the 3D globe ships. The heat map does not wait for it: the 2D geo series is core. If the spike fails, the globe waits on GL, not the platform on the globe.
Wherever a revenue renders on a chart, its percentage of the total renders beside it: on the node, in the tooltip, in the ranked list. A figure without its share answers "how much" and dodges "how much of what". Counts are exempt; the rule is for money.