apache/echarts · error

Unknown coordinate system {}

Error message

Unknown coordinate system {}

What it means

DEV-only guard in LinesSeries.getInitialData: looks up option.coordinateSystem in the CoordinateSystem registry via CoordinateSystem.get. If no coordinate system of that name is registered, it throws. The most common cause on modular builds is referencing 'geo' (or 'bmap') without importing/registering that coordinate system.

Source

Thrown at src/chart/lines/LinesSeries.ts:310

            return {
                flatCoordsOffset: new Uint32Array(coordsOffsetAndLenStorage.buffer, 0, offsetCursor),
                flatCoords: coordsStorage,
                count: dataCount
            };
        }

        return {
            flatCoordsOffset: null,
            flatCoords: null,
            count: data.length
        };
    }

    getInitialData(option: LinesSeriesOption, ecModel: GlobalModel) {
        if (__DEV__) {
            const CoordSys = CoordinateSystem.get(option.coordinateSystem);
            if (!CoordSys) {
                throw new Error('Unknown coordinate system ' + option.coordinateSystem);
            }
        }

        const lineData = new SeriesData(['value'], this);
        lineData.hasItemOption = false;

        lineData.initData(option.data, [], function (dataItem, dimName, dataIndex, dimIndex) {
            // dataItem is simply coords
            if (dataItem instanceof Array) {
                return NaN;
            }
            else {
                lineData.hasItemOption = true;
                const value = dataItem.value;
                if (value != null) {
                    return value instanceof Array ? value[dimIndex] : value;
                }
            }

View on GitHub (pinned to 30076aedcd)

Solutions

  1. On modular builds, register the coordinate system you need (e.g. echarts.use([GeoComponent]))
  2. Use the full 'echarts' build which registers everything
  3. Fix typos in the coordinateSystem value

Example fix

// before (modular build, geo missing)
import * as echarts from 'echarts/core';
import { LinesChart } from 'echarts/charts';
echarts.use([LinesChart]);

// after
import * as echarts from 'echarts/core';
import { LinesChart } from 'echarts/charts';
import { GeoComponent } from 'echarts/components';
echarts.use([LinesChart, GeoComponent]);
Defensive patterns

Strategy: validation

Validate before calling

const KNOWN = ['geo', 'cartesian2d', 'polar', 'bmap', 'calendar', 'singleAxis'];
(option.series || []).forEach((s: any) => {
  if (s.type === 'lines' && s.coordinateSystem && !KNOWN.includes(s.coordinateSystem)) {
    console.error('[lines] unknown coordinateSystem: ' + s.coordinateSystem);
  }
});
// also: ensure echarts.use([...GeoComponent]) was called on modular builds

Prevention

When it happens

Trigger: Setting a lines series coordinateSystem to a name that no registered CoordinateSystem matches — typically 'geo' on a tree-shaken build that never imported the geo component.

Common situations: Using a minimal 'echarts/core' modular build that omits geo; typo in coordinateSystem; referencing bmap without the bmap extension.

Related errors


AI-assisted analysis of apache/echarts@30076aedcd (2026-08-12). Data as JSON: /api/errors/314f73167eedff26. Report an issue: GitHub.