nenu-lang / charts / intermediate
Planned

Intermediate Charts

  • These chart renderers are planned for later.
  • Examples describe proposed contracts for each chart family.
  • Reference illustrations show the intended chart shapes.

Intermediate overview

Reference illustration
Intermediate charts

Planned for later.

Intermediate: Scatter

Compare fruit weight against cost.

Data type: ChartXY. Planned; illustrative contract, not available in the basic release.

code
1ChartXY[] values = [2    { name: "Costs", values: [{ x: 120, y: 60, label: "Apples" }] }3]

Intermediate: Bubble

Compare weight and cost, with quantity encoded by bubble area.

Data type: ChartSizedPoint. Planned; illustrative contract, not available in the basic release.

code
1ChartSizedPoint[] values = [2    { x: 120, y: 60, size: 40, label: "Apples" }3]

Intermediate: Heatmap

Compare sales by weekday and fruit using color intensity.

Data type: ChartHeatCell. Planned; illustrative contract, not available in the basic release.

code
1ChartHeatCell[] values = [2    { x: "Monday", y: "Apples", value: 120 }3]

Intermediate: Timeline

Show events over an interval; time values use the future time contract.

Data type: ChartTimeInterval. Planned; illustrative contract, not available in the basic release.

code
1ChartTimeInterval[] values = [2    { label: "Harvest", start: 1000, end: 2000 }3]

Intermediate: Gantt

Compare scheduled task durations.

Data type: ChartTimeInterval. Planned; illustrative contract, not available in the basic release.

code
1ChartTimeInterval[] values = [2    { label: "Pack apples", start: 1000, end: 2000 }3]

Intermediate: Range bar

Show minimum and maximum weight per fruit.

Data type: ChartRangeXPoint. Planned; illustrative contract, not available in the basic release.

code
1ChartRangeXPoint[] values = [2    { y: "Apples", low: 80, high: 140 }3]

Intermediate: Error bar

Show measured uncertainty as explicit lower and upper bounds.

Data type: ChartRangeYPoint. Planned; illustrative contract, not available in the basic release.

code
1ChartRangeYPoint[] values = [2    { x: "Apples", low: 110, high: 130 }3]

Intermediate: Range / confidence band

Show lower and upper bounds over an ordered axis; supplied bounds must have a stated statistical meaning.

Data type: ChartRangeYPoint. Planned; illustrative contract, not available in the basic release.

code
1ChartRangeYPoint[] values = [2    { x: 1, low: 100, high: 140 }3]

Intermediate: Histogram

Count fruit observations in weight intervals.

Data type: ChartHistogramBin. Planned; illustrative contract, not available in the basic release.

code
1ChartHistogramBin[] values = [2    { low: 100, high: 120, count: 18 }3]

Intermediate: Density

Estimate the shape of a distribution from observations.

Data type: ChartSample. Planned; illustrative contract, not available in the basic release.

code
1ChartSample[] values = [2    { value: 120, group: "Apples" }3]

Intermediate: Violin

Compare full distributions by category.

Data type: ChartSample. Planned; illustrative contract, not available in the basic release.

code
1ChartSample[] values = [2    { value: 120, group: "Apples" }3]

Intermediate: Box plot

Show quartiles, median, whiskers and explicit outliers.

Data type: ChartBoxSummary. Planned; illustrative contract, not available in the basic release.

code
1ChartBoxSummary[] values = [2    { label: "Apples", low: 80, q1: 100, median: 120, q3: 140, high: 160, outliers: [190] }3]

Intermediate: Candlestick

Show opening, highest, lowest and closing price per interval.

Data type: ChartCandle. Planned; illustrative contract, not available in the basic release.

code
1ChartCandle[] values = [2    { time: 1000, open: 10, high: 15, low: 8, close: 13 }3]

Intermediate: OHLC

Show the same price data with open/close ticks.

Data type: ChartCandle. Planned; illustrative contract, not available in the basic release.

code
1ChartCandle[] values = [2    { time: 1000, open: 10, high: 15, low: 8, close: 13 }3]

Intermediate: Funnel

Show counts at successive process stages.

Data type: ChartY. Planned; illustrative contract, not available in the basic release.

code
1ChartY[] values = [2    { name: "Harvest", values: [{ x: "Harvested", y: 120 }] }3]

Intermediate: Radar

Compare dimensions on spokes with explicit per-dimension scales.

Data type: ChartRadarPoint. Planned; illustrative contract, not available in the basic release.

code
1ChartRadarPoint[] values = [2    { dimension: "Sweetness", value: 8 }3]

Intermediate: Polar

Plot numeric angle and radius.

Data type: ChartPolarPoint. Planned; illustrative contract, not available in the basic release.

code
1ChartPolarPoint[] values = [2    { angle: 45, radius: 120 }3]

Intermediate: Gauge

Show progress within an explicit measurement range.

Data type: ChartScalar. Planned; illustrative contract, not available in the basic release.

code
1ChartScalar[] values = [2    { value: 72, min: 0, max: 100, target: 80 }3]

Intermediate: Bullet

Compare a measurement with a target and reference bands.

Data type: ChartScalar. Planned; illustrative contract, not available in the basic release.

code
1ChartScalar[] values = [2    { value: 72, min: 0, max: 100, target: 80 }3]

Intermediate: Mixed bar and line

Combine compatible named lists with different drawing kinds and explicit axes when units differ.

Data type: ChartY. Planned: per-list kind and axis assignment.

code
1ChartY[] values = [2    { name: "Apples", values: [3        { x: "Jan", y: 120 }, { x: "Feb", y: 140 },4        { x: "Mar", y: 110 }, { x: "Apr", y: 180 }5    ] },6    { name: "Oranges", values: [7        { x: "Jan", y: 90 }, { x: "Feb", y: 100 },8        { x: "Mar", y: 130 }, { x: "Apr", y: 120 }9    ] }10]

Common Mistakes

Keep numbers numeric. Two text coordinates are not a basic chart point. A numeric X/Y point needs a non-empty label, and duplicate coordinates within one named list are rejected. Bar and slice charts require a category; numeric X/Y uses line or area.

Use more than one named list to compare groups. Percentage stacks need a positive total at every coordinate. Stacks and slices reject more than 256 displayed points rather than changing the meaning of totals. Intermediate and advanced examples are proposed contracts.

Continue Learning