Also bundled
Evals8 chapters · 39 min
Skills
Chapter 3 of 8
Author Apache ECharts option (EChartsOption) JSON configs for the Dreambase renderer.
2 minutes · 513 words · 6 sections
Produce a single JSON object conforming to the ECharts EChartsOption shape. The Dreambase renderer consumes that object directly — the quality bar is a config that renders correctly on first try, which is why every config gets validated before it’s returned.
formatter, symbolSize functions, …) are emitted as JS source strings (e.g. "formatter": "(params) => ..."). The renderer’s safety policy decides whether to eval them, so prefer declarative equivalents when they exist: template strings ("{b}: {d}%") and valueFormatter over formatter functions.chart.resize() and applies partial updates via setOption. Never rely on attaching listeners — for breakpoint behavior use baseOption + media (see references/patterns/responsive-resize.md).series[].data; past that, use dataset.source so data stays tabular and series stay declarative.xAxis: { "type": "time" } with ISO strings or epoch ms — never a category axis of pre-formatted date strings, which breaks zooming and tooltip formatting.yAxis is an array of two configs; each series binds with yAxisIndex. An index pointing past the array renders a blank chart.stack string. A typo silently un-stacks that series.heatmap requires a visualMap; radar series require radar.indicator; without them ECharts renders nothing, with no error.tooltip and legend on every multi-series chart unless the user opts out — trigger: "axis" for cartesian multi-series, trigger: "item" for pie/scatter.node scripts/validate-option.mjs <config.json>| Want to show | Use |
|---|---|
| Trend over time | line (xAxis.type: "time") |
| Compare categories | bar |
| Distribution of parts | pie (≤7 slices) or treemap (many) |
| Correlation x↔y | scatter / effectScatter |
| Matrix density | heatmap |
| Stock OHLC | candlestick |
| Multi-dimension profile | radar |
| Flow / migration | sankey |
| Hierarchy | treemap / sunburst / tree |
| Single KPI dial | gauge |
| Range distribution | boxplot |
| Geographic | map / geo + scatter |
| Network | graph |
| Pipeline stages | funnel |
| Daily activity | calendar + heatmap |
| Bespoke/illustrative form (ranges, Gantt, hexbin, error bars, data art) | custom (renderItem) + pictorialBar + graphic |
references/core-chart-types.md has a working snippet to start from.references/charts/<type>.md — their data schemas are easy to get subtly wrong from memory.references/charts/custom.md for the renderItem contract and the custom + pictorialBar + graphic toolkit.references/patterns/.node scripts/echarts-option.mjs series-sankey --depth 2 # subtree of valid options
node scripts/echarts-option.mjs --find sampling # search by nameassets/option-index.json).references/core-components.md for axes/tooltip/legend/grid/dataZoom/visualMap/dataset details.references/core-chart-types.md — minimal working snippets per common type.references/core-components.md — the component cheatsheet: global options, axes, tooltip, legend, grid, dataZoom, visualMap, dataset, title, toolbox.references/charts/ — one file per intricate chart type with data schema, working example, and gotchas.references/patterns/ — composite recipes: time-series-with-zoom, multi-axis-combo, stacked-and-grouped, normalized-percent, small-multiples, responsive-resize, tooltip-customization, color-themes-and-visualmap, live-streaming-data.Install this repository
npx skills add DreambaseAI/skillsSkills install per repository, not per chapter — the CLI has no documented per-skill form, so we do not print one.
Author Apache ECharts option (EChartsOption) JSON configs for the Dreambase renderer. Use whenever the user wants a chart, graph, plot, dashboard, or any data visualization — line, bar, pie, scatter, heatmap, sankey, treemap, sunburst, gauge, candlestick, boxplot, funnel, radar, graph/network, map, or calendar — or asks to visualize, plot, or chart data, even if they never say "ECharts". Also use when editing, debugging, or validating an existing ECharts config.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
main, last pushed 5 August 2026.SKILL.md, not by matching a directory convention. One layout observed: skills/*/SKILL.md.h1 and no skipped levels:/DreambaseAI/skills.md, and each chapter at its own .md URL.28 files · 2.1 MB
Everything this skill ships beside its prose. 27 of them are set here as subchapters of chapter 3; the other 1 is described rather than reproduced.
Documentation the agent loads on demand, rather than up front.
references/charts/12 files · 66 KBreferences/2 files · 7 KB
references/patterns/9 files · 8 KBExecutable code the skill can run.
Templates, schemas and fixtures the skill draws on.
Everything else published alongside the skill.