Basic structure
Data is structured as a table with explicitly defined columns and rows:columns array defines your data structure, while rows contains the actual values. Each row object must have keys matching the column keys.
Automatic column mapping
Graphy automatically assigns your data columns to x-axis and y-axis, and creates series based on the detected value formats. Default mapping for most graph types (bar, column, line, area):- The first text or date column becomes the x-axis
- All numeric columns become the y-axis, with each numeric column creating a separate series
| Graph type | X-axis | Y-axis / values |
|---|---|---|
| Bar, column, line, area | First text or date column | All numeric columns (one series each) |
| Combo | First text or date column | All numeric columns (last defaults to line) |
| Funnel, waterfall | First text column | First numeric column |
Value format detection
Graphy automatically detects the format of values in each column. The first match wins:Numbers
Numbers and numeric strings are detected as quantitative values. Thousands separators, decimals and magnitude suffixes are supported:Dates
Date-like strings are automatically parsed. Graphy recognises a wide range of formats, including ISO dates, named months and locale-specific orderings:Jan, Feb) are recognised alongside full names. Set data._metadata.parsingLocale to control whether ambiguous dates like 01/02/2024 are interpreted as MM/DD (en-US) or DD/MM (en-GB).
Weekly date ranges are also detected — values like 1 Feb – 7 Feb or 1 Feb 2024 – 7 Feb 2024 representing 7-day spans.
Percentages
Values with a% suffix are detected as percentages:
Currencies
Currency-formatted strings are parsed with automatic symbol recognition. Supported symbols:$, €, £, ¥, ₹, ₱, ₩, ₪, ₫, ₽, ฿, ₦, ₺, zł, kr, Fr, R, R$, Rp, RM, د.إ, ﷼, Ch$, NT$, HK$, S$, A$, C$, NZ$, MX$.
-$100, $-100).
Text
Any value that doesn’t match the above formats is treated as text (categorical data).Schema
Array of column definitions. Each column defines the structure and metadata for a data field.
Unique, stable identifier for the column. Must match the keys used in
rows objects.Human-readable label displayed in the UI (axis labels, legends, tooltips). Defaults to the
key if not provided.Internal column metadata. Managed automatically by the editor.
Array of data rows. Each row is an object with keys matching the column keys. Values can be strings, numbers or null.
Optional metadata for advanced data processing.
Row object keys must exactly match the
key values in your columns array. Data with keys that don’t have a
corresponding column definition will be ignored.
