# Geo Map Chart

Source: https://lumeo.nativ.sh/components/charts/geo-map

# Geo Map Chart

Display data on a geographic map with color-coded regions. Supports pan, zoom, tooltips, and custom color scales.

## Installation

.NET CLI PackageReference Lumeo CLI

dotnet add package Lumeo.Charts

One-time app setup (`AddLumeo()`, CSS & JS) is covered in the [installation guide](docs/introduction).

## Usage

@using Lumeo

<GeoMapChart />

Preview Code

World Population Density

Loading world map data...

Preview Code

Loading state

Simulate loading

Hold skeleton open

Duration: 2s 

Cycle: 1400 ms 

Shape-aware skeleton with reserved space for legend and axes — no layout shift when real data arrives.

## API Reference

### GeoMapChart

Property

Type

Default

Description

MapName

string

"world"

Name to register the map under in ECharts.

MapJson

string?

null

GeoJSON string for the map geometry. Required.

Data

object?

null

List of objects with Name and Value for each region.

VisualMapMin

double

0

Minimum value for the color scale.

VisualMapMax

double

100

Maximum value for the color scale.

Roam

bool

true

Enable pan and zoom interaction on the map.

Colors

List<string>?

Blue gradient

Color range for the visual map (low to high).

IsLoading

bool

false

When true, renders a shape-matched loading skeleton in place of the chart. Bind to your async fetch state.

ShowLoadingSkeleton

bool

true

Set to false to opt out of the skeleton (chart area stays empty while IsLoading is true).

SkeletonKind

ChartSkeletonKind

(chart default)

Override the skeleton silhouette (Bars, Line, Area, Pie, Scatter, Grid, Generic).

SkeletonStyle

ChartSkeletonStyle

Phantom

Phantom renders the real chart with placeholder data and morphs to real data via ECharts animation. Silhouette falls back to the legacy SVG skeleton overlay.

ShowLoadingLabel

bool

true

Shows a small "Loading…" pill in the top-right corner whenever `IsLoading` is true. Layered on top of any `SkeletonStyle`. Set to false for bare visuals. **(rc.18)**

LoadingText

string?

"Loading…"

Label rendered next to the spinner inside the loading pill. Set to empty to show the spinner alone. **(rc.18)**

Width

string

"100%"

Chart container width as a CSS length.

Height

string

"350px"

Chart container height as a CSS length.

Theme

string?

null

ECharts theme name applied to this chart instance.

ColorPalette

List<string>?

null

Named palette used to seed region colors.

ShowTooltip

bool

true

Shows or hides hover tooltips on map regions.

ShowDataLabels

bool

false

Show value labels on map regions.

LabelPosition

string

"inside"

Position of data labels relative to each region.

LabelFormat

string?

null

ECharts label formatter template string.

DataZoom

bool

false

Enable scroll and drag zoom controls.

Toolbox

bool

false

Show ECharts toolbox with save, restore, and zoom utilities.

AnimationDuration

int?

null

Animation length in milliseconds when rendering.

AnimationEasing

string?

null

ECharts easing function name applied to animations.

PhantomCycleMs

int

1400

Phantom-mode refresh interval in milliseconds while loading.
