数値区間カラースケール
数値区間カラースケールは、数値を同じ幅の区間のいずれかへ分類し、2つの16進色の間から対応する色を返すツールです。値、上下限、区間数、開始色、終了色をご指定ください。すべての入力を検証し、上限値を明示的に処理するため、同じ入力からは常に同じ結果が得られます。ダッシュボード、地図、評価帯、凡例、レポートなど、連続グラデーションではなく再現可能な分類が必要な処理にご利用いただけます。
無料で実行
連続範囲を信頼できる分類へ変換します
連続した色の変化は、測定値が実際より精密であるように見せる場合があります。区間を使うと分類基準が明確になり、同じ区間内の値には完全に同じ色が割り当てられます。数値、上下限、必要な区間数をご入力ください。本ツールは範囲を等幅に分割し、1からの区間番号、0からのインデックス、選択区間の数値境界を返します。各区間は下限を含み上限を含みませんが、最後の区間だけは指定された最大値を含みます。この明確な規則により、境界上の値を複数のシステムが異なる区間へ分類する問題を防げます。返却されるフラグから、上側境界を含むかどうかも確認できます。グラフ描画、エクスポート、バックエンド、ウェブ表示で同一の分類が必要な場合に適しています。データ集合を調査したり統計的な分位点を算出したりはしません。指定された最小値と最大値だけで尺度が決まるため、隠れた観測値や並び順に結果が左右されません。
決定的なRGB補間でカラースケールを作成します
最初の区間には開始色、最後の区間には終了色を使用します。中間色は赤、緑、青の各チャンネルを個別に補間し、最も近い整数へ丸めて算出します。位置は元の数値ではなく区間インデックスに基づくため、同じ区間に属する2つの値には同じ16進色が割り当てられます。両端の色は、先頭のシャープ記号の有無を問わず6桁の16進表記で指定できます。出力はシャープ記号付きの小文字表記に正規化されます。RGB補間は、APIとブラウザーで同じ結果を得るため、意図的に単純な方式を採用しています。知覚的な色空間ではありませんので、アクセシビリティーを重視する場合は、中間色も識別でき、十分なコントラストを保つ両端色をお選びください。結果には色、インデックス、読みやすい区間番号、総区間数、数値境界が含まれます。境界計算を別の場所で再実装せず、図形の着色とツールチップ、凡例、検証記録、監査記録を一貫して作成できます。
可視化の前に数値範囲を検証します
範囲外の値を黙って端へ寄せる方法は便利に見えますが、上流の不具合による不可能な値まで正常に表示してしまいます。本ツールは、有限でない数値、逆転した範囲、幅が0の範囲、上下限外の値、不正な色、2から256までの整数ではない区間数をエラーにします。そのため問題への対応が容易になり、ダッシュボードが不正な測定値を隠しません。指標を管理するシステムで尺度の上下限を決め、系列内のすべての値に同じ限界をご使用ください。分布が大きく偏り、同数の要素を含む真の分位区間が必要な場合は、先に分位点を計算してください。本機能が作るのは明示した両端間の等幅区間です。安定した凡例には、ラベル作成と観測値の着色で同じ規則をご利用ください。最大値は浮動小数点除算で最終インデックスを越えないよう特別に処理します。他の境界値は規則どおり次の区間に入ります。ブラウザーと有料APIは同じ純粋なアルゴリズムを共有するため、結果を確認してから1回$0.002で自動化できます。
活用例
性能ダッシュボードを着色
遅延、収益、使用率、品質などの値へ、カードとグラフを通じて一貫した色を割り当てます。
階級区分図を作成
地域別の測定値を固定区間へ分類し、地図の塗りと凡例を一致させます。
リスク帯を標準化
共通の範囲、区間数、パレットを、レポートや出力内の反復可能なスコアへ適用します。
よくある質問
データ集合から統計的な分位点を計算しますか?
いいえ。明示した最小値と最大値の間を等幅に分割します。データ集合の受信や分析は行いません。
値が最大値と等しい場合はどうなりますか?
最大値は有効で、上限を含む最後の区間へ割り当てられます。
どの色形式を利用できますか?
シャープ記号の有無を問わず、6桁の16進RGB色をご指定ください。結果は記号付きの小文字で返します。
中間色はどのように計算されますか?
区間位置に応じて赤、緑、青を個別に補間し、それぞれ整数へ丸めます。
範囲外の値を端へ調整できますか?
いいえ。不正な測定値が有効な端点色として表示されないよう、範囲外の値は拒否します。
料金はいくらですか?
APIは1回$0.002です。同じ決定的な計算をブラウザーでは無料で実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
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)リクエスト例
{
"value": 72,
"min": 0,
"max": 100,
"buckets": 5,
"start_color": "#ffffcc",
"end_color": "#800026"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.scale_buckets",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |