Escala de cores por faixas
A ferramenta de escala de cores por faixas associa um valor numérico a uma de várias divisões de mesma largura e retorna a cor correspondente entre dois extremos hexadecimais.
Executar grátis
Informe o valor, mínimo e máximo inclusivos, número de faixas e cores inicial e final. Ela valida todos os dados, trata explicitamente o limite superior e sempre produz o mesmo resultado. Use-a em painéis, mapas, faixas de pontuação, legendas, relatórios e fluxos que precisam de classificação reproduzível em vez de um gradiente contínuo.
Transforme um intervalo contínuo em categorias confiáveis
Um gradiente contínuo pode sugerir mais precisão do que a medição realmente oferece. As faixas tornam a decisão visível: todo valor dentro da mesma divisão recebe exatamente a mesma cor. Informe o valor numérico, os limites inferior e superior inclusivos e a quantidade de faixas. A ferramenta divide o intervalo em partes de mesma largura, numera-as a partir de um e retorna tanto o índice iniciado em zero quanto seus limites numéricos. Cada faixa inclui o limite inferior e exclui o superior, exceto a última, que inclui o máximo declarado. Essa regra explícita impede divergências entre sistemas para valores exatamente na fronteira. O indicador retornado também informa se o limite superior é inclusivo. Isso ajuda quando um gráfico, uma exportação, um serviço e uma tela web devem classificar valores da mesma forma. A ferramenta não examina um conjunto de dados nem calcula quantis estatísticos; o mínimo e o máximo informados definem a escala, portanto o resultado não depende de observações ocultas ou da ordem delas.
Monte a escala com interpolação RGB determinística
A primeira faixa usa a cor inicial e a última usa a cor final. As cores intermediárias são calculadas pela interpolação independente dos canais vermelho, verde e azul, com arredondamento de cada canal para o inteiro mais próximo. A posição depende do índice da faixa, e não do valor bruto, garantindo que dois valores na mesma divisão recebam a mesma cor hexadecimal. Os extremos aceitam seis dígitos hexadecimais com ou sem cerquilha, e a saída é normalizada em letras minúsculas com cerquilha. A interpolação RGB é simples por escolha e reproduzível na API e no navegador. Ela não é um modelo perceptual; em paletas com requisitos de acessibilidade, escolha extremos cujas cores intermediárias continuem distinguíveis e tenham contraste adequado. O resultado inclui cor, índice, número legível, total de faixas e limites numéricos. Assim, você pode colorir uma marca e gerar dica, legenda, validação ou registro de auditoria correspondente sem recriar o cálculo em outro lugar.
Valide intervalos antes da visualização
O ajuste silencioso parece conveniente até que um defeito anterior pinte um valor impossível como válido. Por isso, a ferramenta rejeita números não finitos, intervalos invertidos ou sem largura, valores fora dos limites inclusivos, cores malformadas e quantidades que não sejam inteiros entre 2 e 256. Isso torna as falhas acionáveis e impede que o painel esconda medições ruins. Defina os limites no sistema responsável pela métrica e reutilize-os em todos os valores. Se a distribuição for muito assimétrica e você realmente precisar de quantis com populações iguais, calcule primeiro os pontos de corte; esta capacidade cria faixas de mesma largura entre extremos explícitos. Para uma legenda estável, use as mesmas regras ao gerar rótulos e colorir observações. O máximo recebe tratamento especial para que a divisão de ponto flutuante não o coloque além do último índice. As demais fronteiras exatas entram naturalmente na faixa seguinte, conforme a convenção documentada. O navegador e a API paga compartilham o mesmo algoritmo puro, permitindo testar o resultado antes de automatizá-lo por US$ 0,002 por solicitação.
Casos de uso
Colorir um painel de desempenho
Atribua cores consistentes a latência, receita, utilização ou qualidade em cartões e gráficos.
Criar uma classificação coroplética
Distribua medições regionais em intervalos fixos e mantenha os preenchimentos do mapa alinhados à legenda.
Padronizar faixas de risco
Aplique intervalo, quantidade de faixas e paleta compartilhados a pontuações repetíveis em relatórios e exportações.
Perguntas frequentes
A ferramenta calcula quantis estatísticos de um conjunto de dados?
Não. Ela cria faixas de mesma largura entre mínimo e máximo explícitos e não recebe nem analisa um conjunto de dados.
O que acontece quando o valor é igual ao máximo?
O máximo é válido e pertence à última faixa, cujo limite superior é inclusivo.
Quais formatos de cor são aceitos?
Use uma cor RGB hexadecimal de seis dígitos, com ou sem cerquilha. A saída usa minúsculas e inclui a cerquilha.
Como as cores intermediárias são calculadas?
Os canais vermelho, verde e azul são interpolados separadamente conforme a posição da faixa e arredondados para inteiros.
Valores fora do intervalo podem ser ajustados?
Não. Eles são rejeitados para que medições inválidas não apareçam silenciosamente como cores extremas válidas.
Qual é o custo?
A API custa US$ 0,002 por solicitação. O mesmo cálculo determinístico pode ser executado gratuitamente no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/color/scale-buckets \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":72,"min":0,"max":100,"buckets":5,"start_color":"#ffffcc","end_color":"#800026"}'const res = await fetch("https://api.kit.forhosting.com/color/scale-buckets", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 72,
"min": 0,
"max": 100,
"buckets": 5,
"start_color": "#ffffcc",
"end_color": "#800026"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/scale-buckets",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 72,
"min": 0,
"max": 100,
"buckets": 5,
"start_color": "#ffffcc",
"end_color": "#800026"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/scale-buckets", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":72,"min":0,"max":100,"buckets":5,"start_color":"#ffffcc","end_color":"#800026"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":72,"min":0,"max":100,"buckets":5,"start_color":"#ffffcc","end_color":"#800026"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/scale-buckets", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"value": 72,
"min": 0,
"max": 100,
"buckets": 5,
"start_color": "#ffffcc",
"end_color": "#800026"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.scale_buckets",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |