@ggterm/core 0.2.10 → 0.2.12

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.
@@ -0,0 +1,60 @@
1
+ /**
2
+ * geom_beeswarm - Beeswarm plot geometry
3
+ *
4
+ * Creates jittered point plots where points are arranged to avoid overlap,
5
+ * showing both individual data points and distribution shape.
6
+ */
7
+ import type { Geom } from '../types';
8
+ export interface BeeswarmOptions {
9
+ /** Method for arranging points: 'swarm' | 'center' | 'square' (default: 'swarm') */
10
+ method?: 'swarm' | 'center' | 'square';
11
+ /** Point size multiplier (default: 1) */
12
+ size?: number;
13
+ /** Point size for collision detection (default: 1) */
14
+ cex?: number;
15
+ /** Alpha transparency (default: 1) */
16
+ alpha?: number;
17
+ /** Point color */
18
+ color?: string;
19
+ /** Point shape: 'circle' | 'square' | 'triangle' | 'diamond' | 'cross' */
20
+ shape?: string;
21
+ /** Side to place points: 0 (both), -1 (left), 1 (right) (default: 0) */
22
+ side?: -1 | 0 | 1;
23
+ /** Priority for placing points: 'ascending' | 'descending' | 'density' | 'random' */
24
+ priority?: 'ascending' | 'descending' | 'density' | 'random';
25
+ /** Dodge width for categorical spacing (default: 0.8) */
26
+ dodge?: number;
27
+ }
28
+ /**
29
+ * Create beeswarm point geometry
30
+ *
31
+ * Beeswarm plots arrange points to avoid overlap while showing their
32
+ * exact values, combining the benefits of jitter and violin plots.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * import { gg, geom_beeswarm } from '@ggterm/core'
37
+ *
38
+ * // Basic beeswarm plot
39
+ * gg(data)
40
+ * .aes({ x: 'group', y: 'value' })
41
+ * .geom(geom_beeswarm())
42
+ *
43
+ * // Customized with color and method
44
+ * gg(data)
45
+ * .aes({ x: 'treatment', y: 'response', color: 'treatment' })
46
+ * .geom(geom_beeswarm({ method: 'swarm', size: 2, alpha: 0.8 }))
47
+ *
48
+ * // One-sided swarm
49
+ * gg(data)
50
+ * .aes({ x: 'category', y: 'measurement' })
51
+ * .geom(geom_beeswarm({ side: 1 })) // Points only to the right
52
+ * ```
53
+ */
54
+ export declare function geom_beeswarm(options?: BeeswarmOptions): Geom;
55
+ /**
56
+ * Alias for beeswarm with quasirandom-like arrangement
57
+ * Uses 'center' method for a more uniform look
58
+ */
59
+ export declare function geom_quasirandom(options?: Omit<BeeswarmOptions, 'method'>): Geom;
60
+ //# sourceMappingURL=beeswarm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beeswarm.d.ts","sourceRoot":"","sources":["../../src/geoms/beeswarm.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAEpC,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACtC,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wEAAwE;IACxE,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC5D,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,eAAoB,GAAG,IAAI,CAiBjE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAM,GAAG,IAAI,CAEpF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Braille Geom
3
+ *
4
+ * Creates high-resolution plots using Unicode Braille patterns.
5
+ * Each character cell contains a 2x4 grid of dots, allowing
6
+ * 8x the resolution of regular character plots.
7
+ *
8
+ * Braille patterns: U+2800 to U+28FF (256 patterns)
9
+ * Each pattern is a 2-column x 4-row grid:
10
+ * ⠁⠂ (1,4)
11
+ * ⠄⠈ (2,5)
12
+ * ⠐⠠ (3,6)
13
+ * ⡀⢀ (7,8)
14
+ *
15
+ * Required aesthetics:
16
+ * - x: x-axis variable
17
+ * - y: y-axis variable
18
+ *
19
+ * Optional aesthetics:
20
+ * - color: point color
21
+ * - group: for multiple series
22
+ */
23
+ import type { Geom } from '../types.js';
24
+ export interface BrailleOptions {
25
+ /** Type of braille plot: 'point' (default), 'line' */
26
+ type?: 'point' | 'line';
27
+ /** Color for the dots/lines */
28
+ color?: string;
29
+ /** Fill the area under the line (for line type) */
30
+ fill?: boolean;
31
+ /** Opacity (0-1) */
32
+ alpha?: number;
33
+ /** Dot size - how many braille dots per data point (1-4) */
34
+ dot_size?: number;
35
+ }
36
+ export declare const BRAILLE_BASE = 10240;
37
+ export declare const BRAILLE_DOTS: number[][];
38
+ export declare function geom_braille(options?: BrailleOptions): Geom;
39
+ //# sourceMappingURL=braille.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"braille.d.ts","sourceRoot":"","sources":["../../src/geoms/braille.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAOD,eAAO,MAAM,YAAY,QAAS,CAAA;AAGlC,eAAO,MAAM,YAAY,EAAE,MAAM,EAAE,EAGlC,CAAA;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,cAAmB,GAAG,IAAI,CAa/D"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Bullet Geom
3
+ *
4
+ * Creates bullet charts - compact progress bars with target markers.
5
+ * Stephen Few's alternative to gauges and meters.
6
+ *
7
+ * Required aesthetics:
8
+ * - x: category/label
9
+ * - y: actual value
10
+ *
11
+ * Optional aesthetics:
12
+ * - target: target value (shown as marker)
13
+ * - ranges: background ranges (poor/satisfactory/good)
14
+ */
15
+ import type { Geom } from '../types.js';
16
+ export interface BulletOptions {
17
+ /** Width of the bullet chart in characters (default: 40) */
18
+ width?: number;
19
+ /** Height of each bullet in characters (default: 1) */
20
+ height?: number;
21
+ /** Target marker character */
22
+ target_char?: string;
23
+ /** Bar character for actual value */
24
+ bar_char?: string;
25
+ /** Background characters for ranges (3 levels) */
26
+ range_chars?: [string, string, string];
27
+ /** Show value labels (default: true) */
28
+ show_values?: boolean;
29
+ /** Color for the actual value bar */
30
+ color?: string;
31
+ /** Color for the target marker */
32
+ target_color?: string;
33
+ /** Orientation: 'horizontal' (default) or 'vertical' */
34
+ orientation?: 'horizontal' | 'vertical';
35
+ }
36
+ export declare function geom_bullet(options?: BulletOptions): Geom;
37
+ //# sourceMappingURL=bullet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bullet.d.ts","sourceRoot":"","sources":["../../src/geoms/bullet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kDAAkD;IAClD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,wDAAwD;IACxD,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;CACxC;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,IAAI,CAiB7D"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Dumbbell Geom
3
+ *
4
+ * Creates dumbbell charts showing two points connected by a line.
5
+ * Perfect for before/after comparisons, paired data, or showing ranges.
6
+ *
7
+ * Required aesthetics:
8
+ * - x: start value (numeric)
9
+ * - xend: end value (numeric)
10
+ * - y: category (categorical)
11
+ *
12
+ * Optional aesthetics:
13
+ * - color: point/line color
14
+ * - size: point size
15
+ */
16
+ import type { Geom } from '../types.js';
17
+ export interface DumbbellOptions {
18
+ /** Size of points (default: 2) */
19
+ size?: number;
20
+ /** Size of end points, if different from start (default: same as size) */
21
+ sizeEnd?: number;
22
+ /** Color of start points */
23
+ color?: string;
24
+ /** Color of end points (default: same as color) */
25
+ colorEnd?: string;
26
+ /** Line color (default: gray) */
27
+ lineColor?: string;
28
+ /** Line width (default: 1) */
29
+ lineWidth?: number;
30
+ /** Opacity (0-1) */
31
+ alpha?: number;
32
+ /** Point shape: 'circle' | 'square' | 'diamond' */
33
+ shape?: 'circle' | 'square' | 'diamond';
34
+ }
35
+ export declare function geom_dumbbell(options?: DumbbellOptions): Geom;
36
+ //# sourceMappingURL=dumbbell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dumbbell.d.ts","sourceRoot":"","sources":["../../src/geoms/dumbbell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;CACxC;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,eAAoB,GAAG,IAAI,CAgBjE"}
@@ -21,4 +21,11 @@ export { geom_errorbar, geom_errorbarh, geom_crossbar, geom_linerange, geom_poin
21
21
  export { geom_rect, geom_abline, type RectOptions, type AblineOptions } from './rect';
22
22
  export { geom_qq, geom_qq_line, type QQOptions, type QQLineOptions } from './qq';
23
23
  export { geom_ridgeline, geom_joy, type RidgelineOptions } from './ridgeline';
24
+ export { geom_beeswarm, geom_quasirandom, type BeeswarmOptions } from './beeswarm';
25
+ export { geom_dumbbell, type DumbbellOptions } from './dumbbell';
26
+ export { geom_lollipop, type LollipopOptions } from './lollipop';
27
+ export { geom_waffle, type WaffleOptions } from './waffle';
28
+ export { geom_sparkline, type SparklineOptions, SPARK_BARS, SPARK_DOTS } from './sparkline';
29
+ export { geom_bullet, type BulletOptions } from './bullet';
30
+ export { geom_braille, type BrailleOptions, BRAILLE_BASE, BRAILLE_DOTS } from './braille';
24
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geoms/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AACxG,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;AAGjD,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AACnG,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/geoms/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AACxG,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAA;AAGjD,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAA;AACnG,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAA;AACrF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAClF,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC3F,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Lollipop Geom
3
+ *
4
+ * Creates lollipop charts - a line from baseline to a point with a dot at the end.
5
+ * A cleaner alternative to bar charts, especially for sparse data.
6
+ *
7
+ * Required aesthetics:
8
+ * - x: category (categorical) or value (numeric)
9
+ * - y: value (numeric) or category (categorical)
10
+ *
11
+ * Optional aesthetics:
12
+ * - color: point/line color
13
+ * - size: point size
14
+ */
15
+ import type { Geom } from '../types.js';
16
+ export interface LollipopOptions {
17
+ /** Size of the point (default: 2) */
18
+ size?: number;
19
+ /** Color of the point */
20
+ color?: string;
21
+ /** Line color (default: same as point color or gray) */
22
+ lineColor?: string;
23
+ /** Line width (default: 1) */
24
+ lineWidth?: number;
25
+ /** Opacity (0-1) */
26
+ alpha?: number;
27
+ /** Point shape: 'circle' | 'square' | 'diamond' */
28
+ shape?: 'circle' | 'square' | 'diamond';
29
+ /** Direction: 'vertical' (default) or 'horizontal' */
30
+ direction?: 'vertical' | 'horizontal';
31
+ /** Baseline value (default: 0) */
32
+ baseline?: number;
33
+ }
34
+ export declare function geom_lollipop(options?: LollipopOptions): Geom;
35
+ //# sourceMappingURL=lollipop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lollipop.d.ts","sourceRoot":"","sources":["../../src/geoms/lollipop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAA;IACvC,sDAAsD;IACtD,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAA;IACrC,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,eAAoB,GAAG,IAAI,CAgBjE"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Sparkline Geom
3
+ *
4
+ * Creates sparklines - word-sized inline graphics showing trends.
5
+ * Uses Unicode block characters for compact visualization.
6
+ *
7
+ * Required aesthetics:
8
+ * - x: sequence/time variable (or index)
9
+ * - y: values to plot
10
+ *
11
+ * Optional aesthetics:
12
+ * - group: for multiple sparklines
13
+ */
14
+ import type { Geom } from '../types.js';
15
+ export interface SparklineOptions {
16
+ /** Type of sparkline: 'line' (default), 'bar', 'dot' */
17
+ type?: 'line' | 'bar' | 'dot';
18
+ /** Width in characters (default: 20) */
19
+ width?: number;
20
+ /** Height in characters - for 'line' type (default: 1) */
21
+ height?: number;
22
+ /** Show min/max markers */
23
+ show_minmax?: boolean;
24
+ /** Color for the sparkline */
25
+ color?: string;
26
+ /** Color for minimum point */
27
+ min_color?: string;
28
+ /** Color for maximum point */
29
+ max_color?: string;
30
+ /** Normalize values to 0-1 range (default: true) */
31
+ normalize?: boolean;
32
+ }
33
+ export declare const SPARK_BARS: string[];
34
+ export declare const SPARK_DOTS: string[];
35
+ export declare function geom_sparkline(options?: SparklineOptions): Geom;
36
+ //# sourceMappingURL=sparkline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sparkline.d.ts","sourceRoot":"","sources":["../../src/geoms/sparkline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAA;IAC7B,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAGD,eAAO,MAAM,UAAU,UAA2C,CAAA;AAGlE,eAAO,MAAM,UAAU,UAA2C,CAAA;AAElE,wBAAgB,cAAc,CAAC,OAAO,GAAE,gBAAqB,GAAG,IAAI,CAgBnE"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Waffle Geom
3
+ *
4
+ * Creates waffle charts - grid-based part-of-whole visualizations.
5
+ * A more readable alternative to pie charts, perfect for terminal display.
6
+ *
7
+ * Required aesthetics:
8
+ * - fill: category variable
9
+ * - values: numeric values or counts (from data)
10
+ *
11
+ * Optional aesthetics:
12
+ * - label: category labels
13
+ */
14
+ import type { Geom } from '../types.js';
15
+ export interface WaffleOptions {
16
+ /** Number of rows in the waffle grid (default: 10) */
17
+ rows?: number;
18
+ /** Number of columns in the waffle grid (default: 10) */
19
+ cols?: number;
20
+ /** Total units to represent (default: 100 for percentages) */
21
+ n_total?: number;
22
+ /** Character for filled cells */
23
+ fill_char?: string;
24
+ /** Character for empty cells */
25
+ empty_char?: string;
26
+ /** Opacity (0-1) */
27
+ alpha?: number;
28
+ /** Show legend (default: true) */
29
+ show_legend?: boolean;
30
+ /** Flip direction - fill by row instead of column */
31
+ flip?: boolean;
32
+ /** Gap between cells (0 or 1) */
33
+ gap?: number;
34
+ }
35
+ export declare function geom_waffle(options?: WaffleOptions): Geom;
36
+ //# sourceMappingURL=waffle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waffle.d.ts","sourceRoot":"","sources":["../../src/geoms/waffle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,qDAAqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,IAAI,CAiB7D"}
package/dist/index.d.ts CHANGED
@@ -9,12 +9,12 @@ export type { AestheticMapping, Canvas, CanvasCell, ComputedPoint, Coord, DataRe
9
9
  export { TerminalCanvas, createCanvas, DEFAULT_FG, DEFAULT_BG } from './canvas';
10
10
  export { renderToCanvas, renderToString, calculateLayout, buildScaleContext, inferContinuousDomain, inferDiscreteDomain, } from './pipeline';
11
11
  export type { PlotLayout, ResolvedScale, ScaleContext } from './pipeline';
12
- export { geom_point, geom_line, geom_path, geom_hline, geom_vline, geom_bar, geom_col, geom_text, geom_label, geom_area, geom_ribbon, geom_histogram, geom_boxplot, geom_segment, geom_curve, geom_smooth, geom_step, geom_rug, geom_violin, geom_tile, geom_raster, geom_bin2d, geom_contour, geom_contour_filled, geom_density_2d, geom_errorbar, geom_errorbarh, geom_crossbar, geom_linerange, geom_pointrange, geom_rect, geom_abline, geom_qq, geom_qq_line, geom_freqpoly, geom_ridgeline, geom_joy, } from './geoms';
13
- export type { PathOptions, RugOptions, SmoothOptions, StepOptions, ViolinOptions, TileOptions, Bin2dOptions, ContourOptions, ErrorbarOptions, RectOptions, AblineOptions, QQOptions, QQLineOptions, FreqpolyOptions, RidgelineOptions, } from './geoms';
12
+ export { geom_point, geom_line, geom_path, geom_hline, geom_vline, geom_bar, geom_col, geom_text, geom_label, geom_area, geom_ribbon, geom_histogram, geom_boxplot, geom_segment, geom_curve, geom_smooth, geom_step, geom_rug, geom_violin, geom_tile, geom_raster, geom_bin2d, geom_contour, geom_contour_filled, geom_density_2d, geom_errorbar, geom_errorbarh, geom_crossbar, geom_linerange, geom_pointrange, geom_rect, geom_abline, geom_qq, geom_qq_line, geom_freqpoly, geom_ridgeline, geom_joy, geom_beeswarm, geom_quasirandom, geom_dumbbell, geom_lollipop, geom_waffle, geom_sparkline, geom_bullet, geom_braille, SPARK_BARS, SPARK_DOTS, BRAILLE_BASE, BRAILLE_DOTS, } from './geoms';
13
+ export type { PathOptions, RugOptions, SmoothOptions, StepOptions, ViolinOptions, TileOptions, Bin2dOptions, ContourOptions, ErrorbarOptions, RectOptions, AblineOptions, QQOptions, QQLineOptions, FreqpolyOptions, RidgelineOptions, BeeswarmOptions, DumbbellOptions, LollipopOptions, WaffleOptions, SparklineOptions, BulletOptions, BrailleOptions, } from './geoms';
14
14
  export { position_identity, position_dodge, position_stack, position_fill, position_jitter, applyPositionAdjustment, isStackPosition, isDodgePosition, getPositionType, } from './positions';
15
15
  export type { Position, AdjustedPoint, DodgeOptions, JitterOptions, StackOptions, FillOptions, } from './positions';
16
- export { stat_bin, stat_bin2d, stat_boxplot, stat_density, stat_smooth, stat_summary, stat_qq, stat_qq_line, computeBins, computeBins2d, computeBoxplotStats, computeDensity, computeSmooth, computeSummary, computeQQ, computeQQLine, } from './stats';
17
- export type { StatBinParams, StatBin2dParams, Bin2dResult, BinResult, StatBoxplotParams, BoxplotResult, StatDensityParams, DensityResult, StatSmoothParams, SmoothResult, StatSummaryParams, SummaryResult, SummaryFun, StatQQParams, QQResult, } from './stats';
16
+ export { stat_bin, stat_bin2d, stat_boxplot, stat_density, stat_smooth, stat_summary, stat_qq, stat_qq_line, computeBins, computeBins2d, computeBoxplotStats, computeDensity, computeSmooth, computeSummary, computeQQ, computeQQLine, stat_beeswarm, computeBeeswarm, } from './stats';
17
+ export type { StatBinParams, StatBin2dParams, Bin2dResult, BinResult, StatBoxplotParams, BoxplotResult, StatDensityParams, DensityResult, StatSmoothParams, SmoothResult, StatSummaryParams, SummaryResult, SummaryFun, StatQQParams, QQResult, StatBeeswarmParams, BeeswarmResult, } from './stats';
18
18
  export { scale_x_continuous, scale_y_continuous, scale_x_log10, scale_y_log10, scale_x_sqrt, scale_y_sqrt, scale_x_reverse, scale_y_reverse, scale_y2_continuous, scale_y2_log10, scale_y2_sqrt, scale_y2_reverse, scale_x_discrete, scale_y_discrete, scale_color_continuous, scale_color_viridis, scale_color_discrete, scale_color_manual, scale_fill_continuous, scale_fill_viridis, scale_fill_discrete, scale_fill_manual, scale_color_brewer, scale_fill_brewer, scale_color_distiller, scale_fill_distiller, scale_color_gradient, scale_fill_gradient, scale_color_gradient2, scale_fill_gradient2, scale_color_gradientn, scale_fill_gradientn, getAvailablePalettes, getPaletteColors, scale_size_continuous, scale_size_area, scale_size_radius, scale_size_identity, scale_size_binned, scale_shape_discrete, scale_shape_manual, scale_shape_identity, scale_shape_ordinal, DEFAULT_SHAPES, SHAPE_CHARS, scale_alpha_continuous, scale_alpha, scale_alpha_identity, scale_alpha_discrete, scale_alpha_manual, scale_alpha_binned, scale_x_datetime, scale_y_datetime, scale_x_date, scale_y_date, scale_x_time, scale_y_time, scale_x_duration, scale_y_duration, formatDateTime, calculateDateTimeTicks, } from './scales';
19
19
  export type { SizeScaleOptions, BinnedSizeOptions, ShapeScaleOptions, ManualShapeOptions, AlphaScaleOptions, DiscreteAlphaOptions, ManualAlphaOptions, BinnedAlphaOptions, DateTimeScaleOptions, TimeScaleOptions, DurationScaleOptions, BrewerPalette, BrewerOptions, DistillerOptions, GradientOptions, Gradient2Options, GradientNOptions, PaletteName, } from './scales';
20
20
  export { coordCartesian, coordFlip, coordPolar, coordFixed, coordEqual, coordTrans, coordFlipWithLimits, } from './coords/cartesian';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGtC,YAAY,EACV,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,aAAa,EACb,KAAK,EACL,UAAU,EACV,UAAU,EACV,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,KAAK,GACN,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG/E,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGzE,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EAER,WAAW,EACX,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,eAAe,EACf,SAAS,EACT,WAAW,EAEX,OAAO,EACP,YAAY,EAEZ,aAAa,EAEb,cAAc,EACd,QAAQ,GACT,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,aAAa,EACb,SAAS,EACT,aAAa,EACb,eAAe,EACf,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,aAAa,CAAA;AACpB,YAAY,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,cAAc,EACd,SAAS,EACT,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EAEf,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EAEjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EAEpB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EAEpB,oBAAoB,EACpB,gBAAgB,EAEhB,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,GACvB,MAAM,UAAU,CAAA;AAEjB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EAEpB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,GACZ,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,cAAc,EACd,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,YAAY,GACb,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EAExB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,UAAU,CAAA;AACjB,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,QAAQ,GACT,MAAM,UAAU,CAAA;AAGjB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,SAAS,GACV,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,QAAQ,EACR,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGtD,OAAO,EAEL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EAEjB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,QAAQ,EAER,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAA;AAGnB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,aAAa,CAAA;AAEpB,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,MAAM,EACN,YAAY,EACZ,MAAM,EACN,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,SAAS,GACV,MAAM,eAAe,CAAA;AAEtB,YAAY,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACR,UAAU,EACV,UAAU,EACV,GAAG,EACH,MAAM,EACN,UAAU,EACV,WAAW,GACZ,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC9C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAGpD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACnE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}