# `FrappeUIPhx.Charts.Scale`
[🔗](https://github.com/moacirbishopcamata/frappe_ui_phx/blob/v0.3.1/lib/frappe_ui_phx/charts/scale.ex#L1)

Matemática pura dos gráficos: escalas lineares, "números bonitos" para eixos,
paleta de cores do tema e formatação numérica estável para SVG.

# `color`

```elixir
@spec color(non_neg_integer()) :: String.t()
```

Cor (variável CSS do tema, então acompanha claro/escuro) da série `index`.

# `linear`

```elixir
@spec linear(number(), {number(), number()}, {number(), number()}) :: float()
```

Mapeia `value` do intervalo `{d0, d1}` para `{r0, r1}` (domínio degenerado vira o início).

# `n`

```elixir
@spec n(number()) :: String.t()
```

Número para atributo SVG: até 2 casas, sem notação científica.

# `nice_max`

```elixir
@spec nice_max(number()) :: number()
```

Menor número "bonito" (1, 2, 5 × 10ⁿ) que é ≥ `max`; mínimo 1.

# `palette`

Famílias de cor da paleta de séries, na ordem de uso.

# `palette_size`

Quantidade de cores distintas antes de repetir.

# `short`

```elixir
@spec short(number()) :: String.t()
```

Rótulo curto de eixo: 1200 → "1,2 mil", 2500000 → "2,5 mi".

# `ticks`

```elixir
@spec ticks(number(), pos_integer()) :: [number()]
```

Valores de grade de 0 a `nice_max` em `count` intervalos.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
