Aller au contenu principal

CanadaMap

Every example on this page is live, drawn by the library's Storybook, where you can also change its props and see the result.

A monochromatic SVG map of Canada, shading its 13 provinces and territories using fill patterns and optional numeric labels. Uses a Lambert Conformal Conic projection, the standard cartographic projection for Canada. The map keeps its proportions, filling as much of its box as it can and centered in the rest, in any box it is laid out in.

Import​

import { CanadaMap } from "~lib/data-display/maps/canada-map";

Props​

NameTypeRequiredDefaultDescription
dataPartial<Record<CanadaProvinceName, CanadaMapEntry>>YesN/APer-province shading and optional value
showValuesbooleanNofalseRender numeric labels at province centroids
markersMapMarker[]NoN/APlaces to mark, each in its shape with an optional name beside it
legendMapLegendEntry[]NoN/AWhat each marker shape stands for, in a row under the map
widthnumber | stringNo380Component width (px or CSS string); with height="fill", the column's width unless given
heightnumber | "fill" | stringNo300Component height (px or CSS string), or "fill" to be as tall as its width makes it at the map's proportion

CanadaProvinceName​

13 provinces and territories. Examples: "Ontario", "Québec", "British Columbia", "Alberta", "Manitoba", "Saskatchewan", "Nova Scotia", "Nunavut", "Yukon".

CanadaMapEntry​

type CanadaMapEntry = {
shading: "solid" | "diagonal" | "dots" | "crosshatch";
value?: number;
};

MapMarker​

type MapMarker = {
latitude: number;
longitude: number;
label?: string;
shape?: "circle" | "square" | "triangle" | "diamond"; // "circle" by default
};

type MapLegendEntry = {
shape: "circle" | "square" | "triangle" | "diamond";
label: string;
};

Examples​

Default​

Ouvrir Default dans Storybook

With Values​

Ouvrir With Values dans Storybook

All Patterns​

Ouvrir All Patterns dans Storybook

Territories​

Ouvrir Territories dans Storybook

With Markers​

markers puts a dot on each place you give, with its label beside it where there is room, and a marker's shape draws it as a square, a triangle or a diamond instead, which legend names under the map. height="fill" makes the box as tall as its width makes it at the map's proportion. See WorldMap for how labels are placed, how the legend gives way and how a filled map shrinks.

Ouvrir With Markers dans Storybook

See Also​

  • WorldMap - Global equivalent using the same pattern system
  • USMap - United States equivalent