eurostat-map
    Preparing search index...

    Interface CoxcombMap

    Coxcomb map type.

    interface CoxcombMap {
        svgId(): string;
        svgId(id: string): this;
        containerId(): string;
        containerId(id: string): this;
        width(): number;
        width(w: number): this;
        height(): number;
        height(h: number): this;
        geo(): string;
        geo(g: string): this;
        proj(): string;
        proj(p: string): this;
        scale(): string;
        scale(s: "60M" | "20M" | "10M" | "03M" | "01M"): this;
        nutsLevel(): number | "mixed";
        nutsLevel(level: number | "mixed"): this;
        nutsYear(): number;
        nutsYear(year: number): this;
        position(v: { x?: number; y?: number; z?: number }): this;
        position(): { x: number; y: number; z: number };
        projectionFunction(): any;
        projectionFunction(fn: any): this;
        title(): string;
        title(t: string): this;
        subtitle(): string;
        subtitle(t: string): this;
        footnote(): string | false;
        footnote(text: string | false): this;
        footnoteTooltipText(): string | false;
        footnoteTooltipText(text: string | false): this;
        footnoteWrap(): number | false;
        footnoteWrap(chars: number | false): this;
        stat(): | StatConfig
        | CompositionStatConfig<Record<string, Record<string, number>>>;
        stat(
            config:
                | StatConfig
                | CompositionStatConfig<Record<string, Record<string, number>>>,
        ): this;
        stat(
            key: string,
        ):
            | StatConfig
            | CompositionStatConfig<Record<string, Record<string, number>>>;
        stat(
            key: string,
            config:
                | StatConfig
                | CompositionStatConfig<Record<string, Record<string, number>>>,
        ): this;
        stat(
            key: string,
            config:
                | StatConfig
                | CompositionStatConfig<Record<string, Record<string, number>>>,
            categoryParameter: string,
            categoryCodes?: string[],
            categoryLabels?: string[],
            categoryColors?: string[],
            totalCode?: string,
        ): this;
        encoding(): Record<string, EncodingConfig>;
        encoding(channel: string): EncodingConfig;
        encoding(channel: string, config: EncodingConfig): this;
        encoding(configs: Record<string, EncodingConfig>): this;
        getEncodingStat(channel: string, fallback?: string): string;
        getEncodingStats(channel: string, fallback?: string[]): string[];
        getEncodingStatKey(
            channel: string,
            categoryCode?: string,
            fallbackStat?: string,
        ): string;
        getEncodingStatData(
            channel: string,
            categoryCode?: string,
            fallbackStat?: string,
        ): StatData;
        getEncodingValue(
            channel: string,
            regionId: string,
            categoryCode?: string,
            fallbackStat?: string,
        ): string | number;
        getEncodingUnitText(
            channel: string,
            categoryCode?: string,
            fallbackStat?: string,
        ): string;
        statData(): StatData;
        statData(key: string): StatData;
        statData(key: string, data: StatData): this;
        getTime(): string;
        noDataText(): string;
        noDataText(text: string): this;
        language(): string;
        language(lang: string): this;
        updateLegend(): this;
        rankedBarChart(): false | RankedBarChartConfig;
        rankedBarChart(config: false | RankedBarChartConfig): this;
        updateRankedBarChart(): this;
        tooltip(): TooltipConfig;
        tooltip(config: TooltipConfig): this;
        zoomExtent(): [number, number];
        zoomExtent(extent: [number, number]): this;
        zoomButtons(): boolean;
        zoomButtons(show: boolean): this;
        translateExtent(): [[number, number], [number, number]];
        translateExtent(extent: [[number, number], [number, number]]): this;
        lockPanUntilZoom(): boolean;
        lockPanUntilZoom(lock: boolean): this;
        gridCartogramSettings(): GridCartogramSettings;
        gridCartogramSettings(settings: Partial<GridCartogramSettings>): this;
        insets(): false | "image" | "default" | InsetConfig[] | "eu" | "euEfta";
        insets(
            config: boolean | "image" | "default" | InsetConfig[] | "eu" | "euEfta",
        ): this;
        insetBoxPosition(): [number, number];
        insetBoxPosition(pos: [number, number]): this;
        insetBoxPadding(): number;
        insetBoxPadding(px: number): this;
        insetBoxWidth(): number;
        insetBoxWidth(px: number): this;
        insetScale(): string;
        insetScale(scale: string): this;
        insetZoomExtent(): [number, number];
        insetZoomExtent(extent: [number, number]): this;
        drawGraticule(): boolean;
        drawGraticule(show: boolean): this;
        drawCoastalMargin(): boolean;
        drawCoastalMargin(show: boolean): this;
        coastalMarginSettings(): CoastalMarginSettings;
        coastalMarginSettings(settings: Partial<CoastalMarginSettings>): this;
        placenames(): boolean;
        placenames(show: boolean): this;
        labels(): LabelsConfig;
        labels(config: false | LabelsConfig): this;
        annotations(): { annotations: any[]; editMode?: boolean };
        annotations(
            config: false | { annotations: any[]; editMode?: boolean },
        ): this;
        stamp(): StampConfig;
        stamp(config: false | StampConfig): this;
        scalebar(): ScalebarConfig;
        scalebar(config: boolean | ScalebarConfig): this;
        showScalebar(): boolean;
        showScalebar(show: boolean): this;
        scalebarPosition(): [number, number];
        scalebarPosition(pos: [number, number]): this;
        showEstatLogo(): boolean;
        showEstatLogo(show: boolean): this;
        logoWidth(): number;
        logoWidth(px: number): this;
        logoHeight(): number;
        logoHeight(px: number): this;
        showEstatRibbon(): boolean;
        showEstatRibbon(show: boolean): this;
        ribbonWidth(): number;
        ribbonWidth(px: number): this;
        ribbonHeight(): number;
        ribbonHeight(px: number): this;
        svg(): any;
        svg(s: any): this;
        addLocation(config: LocationConfig): this;
        removeLocation(id: string): this;
        clearLocations(): this;
        locations(): LocationConfig[];
        locations(configs: LocationConfig[]): this;
        updateLocations(): this;
        filterGeometriesFunction(): (geometry: any) => boolean;
        filterGeometriesFunction(fn: (geometry: any) => boolean): this;
        gridCartogram(): boolean;
        gridCartogram(enable: boolean): this;
        backgroundMap(): boolean;
        backgroundMap(show: boolean): this;
        minimap(): MinimapConfig;
        minimap(config: MinimapConfig): this;
        insetsButton(): boolean;
        insetsButton(show: boolean): this;
        legendButton(): boolean;
        legendButton(show: boolean): this;
        placenamesFilter(): (name: any) => boolean;
        placenamesFilter(fn: (name: any) => boolean): this;
        header(): boolean;
        header(show: boolean): this;
        footer(): boolean;
        footer(show: boolean): this;
        footerPadding(): number;
        footerPadding(padding: number): this;
        headerPadding(): number;
        headerPadding(padding: number): this;
        titlePosition(): [number, number];
        titlePosition(pos: [number, number]): this;
        subtitlePosition(): [number, number];
        subtitlePosition(pos: [number, number]): this;
        footnotePosition(): [number, number];
        footnotePosition(pos: [number, number]): this;
        logoPosition(): [number, number];
        logoPosition(pos: [number, number]): this;
        ribbonPosition(): [number, number];
        ribbonPosition(pos: [number, number]): this;
        zoomButtonsPosition(): [number, number];
        zoomButtonsPosition(pos: [number, number]): this;
        insetsButtonPosition(): [number, number];
        insetsButtonPosition(pos: [number, number]): this;
        insetsVisibilityBreakpoint(): number;
        insetsVisibilityBreakpoint(px: number): this;
        legendButtonPosition(): [number, number];
        legendButtonPosition(pos: [number, number]): this;
        legendVisibilityBreakpoint(): number;
        legendVisibilityBreakpoint(px: number): this;
        showSourceLink(): boolean;
        showSourceLink(show: boolean): this;
        patternFill(): PatternFillConfig | PatternFillConfig[];
        patternFill(config: PatternFillConfig | PatternFillConfig[]): this;
        dorling(): boolean;
        dorling(enable: boolean): this;
        dorlingSettings(): DorlingSettings;
        dorlingSettings(settings: Partial<DorlingSettings>): this;
        onZoomEnd(): (event: any) => void;
        onZoomEnd(fn: (event: any) => void): this;
        onZoom(): (event: any) => void;
        onZoom(fn: (event: any) => void): this;
        onRegionMouseOver(): (
            event: MouseEvent,
            regionId: string,
            props: any,
        ) => void;
        onRegionMouseOver(
            fn: (event: MouseEvent, regionId: string, props: any) => void,
        ): this;
        onRegionMouseMove(): (
            event: MouseEvent,
            regionId: string,
            props: any,
        ) => void;
        onRegionMouseMove(
            fn: (event: MouseEvent, regionId: string, props: any) => void,
        ): this;
        onRegionMouseOut(): (
            event: MouseEvent,
            regionId: string,
            props: any,
        ) => void;
        onRegionMouseOut(
            fn: (event: MouseEvent, regionId: string, props: any) => void,
        ): this;
        onRegionClick(): (event: MouseEvent, regionId: string, props: any) => void;
        onRegionClick(
            fn: (event: MouseEvent, regionId: string, props: any) => void,
        ): this;
        onBuild(): (map: MapInstance) => void;
        onBuild(callback: (map: MapInstance) => void): this;
        build(): this;
        updateGeoData(): this;
        updateStatData(): this;
        updateStatValues(): this;
        updateClassification(): this;
        updateStyle(): this;
        recalculateLayout(): void;
        exportMapToSVG(filename?: string): this;
        exportMapToPNG(
            width?: number,
            height?: number,
            filename?: string,
        ): Promise<CoxcombMap>;
        setFromURL(): this;
        transitionDuration(): number;
        transitionDuration(ms: number): this;
        filtersDefinitionFunction(): (svg: any, numberOfClasses: number) => void;
        filtersDefinitionFunction(
            fn: (svg: any, numberOfClasses: number) => void,
        ): this;
        regionCentroids(): Map<string, [number, number]>;
        layers_: Layer[];
        activeLayerIndex_: number;
        activeLayer(): Layer;
        layer(ref?: string | number): Layer;
        layers(): Layer[];
        layers(configs: LayerConfig[]): this;
        addLayer(type: string, config?: LayerConfig): Layer;
        addLayer(config: LayerConfig): Layer;
        removeLayer(ref: string | number): this;
        activeLayerIndex(): number;
        activeLayerIndex(i: number): this;
        updateAllLayers(): this;
        legend(): false | CoxcombLegendConfig;
        legend(config: false | CoxcombLegendConfig): this;
        coxcombSettings(): {
            minRadius: number;
            maxRadius: number;
            strokeFill: string;
            strokeWidth: number;
            rings: boolean;
            offsets: { x: number; y: number };
        };
        coxcombSettings(
            v: {
                minRadius?: number;
                maxRadius?: number;
                strokeFill?: string;
                strokeWidth?: number;
                rings?: boolean;
                offsets?: { x: number; y: number };
            },
        ): this;
        catColors(): Record<string, string>;
        catColors(v: Record<string, string>): this;
        catLabels(): Record<string, string>;
        catLabels(v: Record<string, string>): this;
        noDataFillStyle(): string;
        noDataFillStyle(v: string): this;
        coxcombMaxRadius(): number;
        coxcombMaxRadius(v: number): this;
        coxcombMinRadius(): number;
        coxcombMinRadius(v: number): this;
        coxcombRings(): boolean;
        coxcombRings(v: boolean): this;
        coxcombStrokeFill(): string;
        coxcombStrokeFill(v: string): this;
        coxcombStrokeWidth(): number;
        coxcombStrokeWidth(v: number): this;
        hoverColor(): string;
        hoverColor(v: string): this;
        classifierSize(): (value: number) => number;
        classifierSize(v: (value: number) => number): this;
        coxcombOffsets(): { x: number; y: number };
        coxcombOffsets(v: { x: number; y: number }): this;
        statCoxcomb(config: CoxcombStatConfig): this;
        [key: string]: any;
    }

    Hierarchy (View Summary)

    Indexable

    • [key: string]: any

      Allow additional map-type-specific properties and methods.

    Index

    Properties

    Methods

    svgId containerId width height geo proj scale nutsLevel nutsYear position projectionFunction title subtitle footnote footnoteTooltipText footnoteWrap stat encoding getEncodingStat getEncodingStats getEncodingStatKey getEncodingStatData getEncodingValue getEncodingUnitText statData getTime noDataText language updateLegend rankedBarChart updateRankedBarChart tooltip zoomExtent zoomButtons translateExtent lockPanUntilZoom gridCartogramSettings insets insetBoxPosition insetBoxPadding insetBoxWidth insetScale insetZoomExtent drawGraticule drawCoastalMargin coastalMarginSettings placenames labels annotations stamp scalebar showScalebar scalebarPosition showEstatLogo logoWidth logoHeight showEstatRibbon ribbonWidth ribbonHeight svg addLocation removeLocation clearLocations locations updateLocations filterGeometriesFunction gridCartogram backgroundMap minimap insetsButton legendButton placenamesFilter header footer footerPadding headerPadding titlePosition subtitlePosition footnotePosition logoPosition ribbonPosition zoomButtonsPosition insetsButtonPosition insetsVisibilityBreakpoint legendButtonPosition legendVisibilityBreakpoint showSourceLink patternFill dorling dorlingSettings onZoomEnd onZoom onRegionMouseOver onRegionMouseMove onRegionMouseOut onRegionClick onBuild build updateGeoData updateStatData updateStatValues updateClassification updateStyle recalculateLayout exportMapToSVG exportMapToPNG setFromURL transitionDuration filtersDefinitionFunction regionCentroids activeLayer layer layers addLayer removeLayer activeLayerIndex updateAllLayers legend coxcombSettings catColors catLabels noDataFillStyle coxcombMaxRadius coxcombMinRadius coxcombRings coxcombStrokeFill coxcombStrokeWidth hoverColor classifierSize coxcombOffsets statCoxcomb

    Properties

    layers_: Layer[]

    Ordered thematic layer stack (bottom → top).

    activeLayerIndex_: number

    Methods

    • Initial map viewport. x/y in projected coordinates, z is pixel size (map units per screen pixel — smaller = more zoomed in).

      Parameters

      • v: { x?: number; y?: number; z?: number }

      Returns this

      map.position({ x: 4800000, y: 3400000, z: 6000 })
      
    • Returns { x: number; y: number; z: number }

    • Returns the concrete statData key for a channel/category combination.

      Parameters

      • channel: string
      • OptionalcategoryCode: string
      • OptionalfallbackStat: string

      Returns string

    • Returns a region value through encoding lookup.

      Parameters

      • channel: string
      • regionId: string
      • OptionalcategoryCode: string
      • OptionalfallbackStat: string

      Returns string | number

    • Returns unit text through encoding lookup.

      Parameters

      • channel: string
      • OptionalcategoryCode: string
      • OptionalfallbackStat: string

      Returns string

    • Returns the time dimension value from the loaded Eurostat dataset. Useful for displaying the data period in the map title.

      Returns string

      map.onBuild(() => map.title('Population ' + map.getTime()))
      
    • Inset map configurations. Pass a named preset string, or a custom array, or false to disable. Passing true is an alias for 'default'.

      • 'default': simple grid layout of overseas territories.
      • 'image': Malta, Liechtenstein and EU/EFTA overseas/remote territories, hand-tuned layout with connecting decoration (background box, separator lines, blur gradients).
      • 'eu': simple grid layout of EU overseas/outermost territories, no decoration.
      • 'euEfta': like 'eu', plus Liechtenstein and Svalbard, no decoration.

      Returns false | "image" | "default" | InsetConfig[] | "eu" | "euEfta"

      map.insets('default')
      
      map.insets('image')
      
      map.insets(true)
      
      map.insets([{ geo: 'MT' }, { geo: 'LI' }])
      
    • Parameters

      • config: boolean | "image" | "default" | InsetConfig[] | "eu" | "euEfta"

      Returns this

    • Annotation configuration, rendered via the d3-svg-annotation library. annotations is an array of d3-svg-annotation annotation objects; each object's type may be one of 'annotationLabel' (default), 'annotationCallout', 'annotationCalloutRect', 'annotationCalloutCircle', 'annotationXYThreshold', resolved to the matching d3-svg-annotation function internally.

      Returns { annotations: any[]; editMode?: boolean }

    • Parameters

      • config: false | { annotations: any[]; editMode?: boolean }

      Returns this

    • Builds the map from scratch. Call once after initial configuration.

      Returns this

      eurostatmap.map('choropleth')
      .stat({ eurostatDatasetCode: 'demo_r_d3dens' })
      .build()
    • Exports the map as an SVG file and triggers a browser download. Computed CSS styles are inlined before export.

      Parameters

      • Optionalfilename: string

        Download filename without extension.

      Returns this

      'eurostatmap'
      
    • Exports the map as a PNG file and triggers a browser download.

      Parameters

      • Optionalwidth: number

        Output width in pixels. Defaults to SVG width.

      • Optionalheight: number

        Output height in pixels. Defaults to SVG height.

      • Optionalfilename: string

        Download filename without extension.

      Returns Promise<CoxcombMap>

      'eurostatmap'
      
    • Returns {
          minRadius: number;
          maxRadius: number;
          strokeFill: string;
          strokeWidth: number;
          rings: boolean;
          offsets: { x: number; y: number };
      }

    • Parameters

      • v: {
            minRadius?: number;
            maxRadius?: number;
            strokeFill?: string;
            strokeWidth?: number;
            rings?: boolean;
            offsets?: { x: number; y: number };
        }

      Returns this