# Map Re-maps a number from one range to another. That is, a value of ``from low`` would get mapped to ``to low``, a value of ``from high`` to ``to high``, values in-between to values in-between, etc. Does not constrain values to within the range, because out-of-range values are sometimes intended and useful. The `math->clamp` function may be used either before or after this function, if limits to the ranges are desired. ```sig pins.map(0, 0, 4, 0, 1023); ``` ### Parameters * ``value``: [Number](/microbit/reference/types/number) - the value to map * ``from low``: [Number](/microbit/reference/types/number) - lower bound of the origin interval * ``from high``: [Number](/microbit/reference/types/number) - upper bound of the origin interval * ``to low``: [Number](/microbit/reference/types/number) - lower bound of the target interval * ``to high``: [Number](/microbit/reference/types/number) - upper bound of the target interval ## Example Map the value read from the analog pin ``P0`` to an LED index between ``0`` and ``4``. ```blocks let value1 = pins.analogReadPin(AnalogPin.P0) let index = pins.map(value1, 0, 1023, 0, 4) led.plot(0, index) ``` ### See also [analog read pin](/microbit/reference/pins/analog-read-pin)