ヒストグラム計算機
ヒストグラムの元になる度数表を作ります。1、2、2、3、5、7、8、9を幅2の4区間に分けると、度数は3、1、1、3です。区間の幅か区間の数のどちらかを選べます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- ビンの数
- 4
- N
- 8
- Min
- 1
- Max
- 9
- 値域
- 8
ヒストグラムは数値標本を連続したビンに分け、各区間に何件入るかを数えます。このヒストグラム計算機は有限な数値の一覧と、正のビン幅または正の整数のビン数を受け取り、各区間・生の件数・相対度数を返します。学習者は教科書の度数分布表の確認に、分析者は表計算を開かずに遅延・得点・センサ値の点検に、開発者はグラフや離散化特徴量の決定的なフィクスチャ固定に使います。
ヒストグラムが返す内容と等幅ビンの切り方
ヒストグラムは、観測された数値範囲を等しい幅で分割し、各区間に落ちる標本点の件数を添えたものです。この計算機は見栄えのよい原点を選ばず、端を切りのよい数に合わせません。最初の端は標本の最小値であり、以降の端は一定幅だけずれます。
同じ一覧と同じ幅または同じ本数なら、誰が実行しても同じ表になります。返る各ビンには1始まりの番号、左右の端、生の件数、件数を n で割った相対度数、内側は半開・最後は閉の区間文字列が並びます。応答は n・min・max・range、実際に使った幅、ビン数、どちらが勝ったかも繰り返します。
観測がすべて同じなら範囲は0で、エンジンはその値の単一ビンに縮め、空の隣ビンは作りません。任意項目は null にせず省略します。
度数分布表が学習・分析・製品に収まる場所
学習者は、反復測定の度数表を実験で求められたとき、短い系列に四つの等クラスを教科書が示したとき、最後のビンが半開のままでグラフライブラリが最大値を落としていないか確かめるときにヒストグラムに出会います。教員は、不透明な作図既定に頼らず、区間と件数を列挙した解答を作れます。
分析者は応答時間・試験点・かごサイズ・センサ値をビンに入れ、形・欠け・外れを見てからモデルを選びます。製品と運用のチームは、同じ表を他サービスがキャッシュできるダッシュボード系列にします。一覧と幅が同じなら出力が決定的だからです。
こちらはすでにお持ちの幅または本数を消費してビンを返します。散らばりが必要なら標準偏差や五数要約の計算機と、h をまだ選ぶなら専用のビン幅規則と組み合わせてください。このページでは作業はすべてご利用のブラウザ内で終わります。
活用例
課題用の度数分布表
教科書の系列を等幅クラスの件数と相対度数に直し、手描きの棒や図の確認の前に使います。
遅延・得点・センサ
応答時間、試験点、計測値を、共有・キャッシュ・実行間比較できる安定した表にビン分けします。
グラフと特徴量の決定的フィクスチャ
区間と度数をテストに固定し、作図既定が変わってもダッシュボードや離散化共変量が漂わないようにします。
よくある質問
値が数でないときはどうなりますか?
非数値トークン、Infinity、NaN がゼロにされることはなく、検証失敗は課金されません。
なぜ最後のビンは両側が閉じているのですか?
内側のビンは半開 [left, right) なので、内側の端はただ一つのクラスに属します。最後は [left, right] で、標本最大値が一度数えられ、表の外に落ちません。
区間の境目はどう決まりますか?
最初の境目はリストの最小値で、そこから一定の幅ずつ次の境目が決まります。切りのよい数にずらさないので、同じリストと設定なら常に同じ表になります。
区間の幅と区間の数を両方指定するとどうなりますか?
幅が優先されます。指定した幅を使い、最小値から最大値までを覆うのに必要な区間の数を計算します。
すべての値が同じときはどうなりますか?
分ける範囲がないため、その値に1つの区間ができ、すべての観測値がそこに入ります。両側に空の区間を作ることはありません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/histogram \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"data":[1,2,2,3,5,7,8,9],"bin_width":2}'const res = await fetch("https://api.kit.forhosting.com/stat/histogram", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"data": [
1,
2,
2,
3,
5,
7,
8,
9
],
"bin_width": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/histogram",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"data": [
1,
2,
2,
3,
5,
7,
8,
9
],
"bin_width": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/histogram", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"data":[1,2,2,3,5,7,8,9],"bin_width":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"data":[1,2,2,3,5,7,8,9],"bin_width":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/histogram", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"data": [
1,
2,
2,
3,
5,
7,
8,
9
],
"bin_width": 2
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.histogram",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 10000 |
max_abs | 1000000000000000 |
max_bins | 500 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
有限数でない要素があると invalid_input で失敗し、紛れ込んだラベルが黙ってゼロになることはありません。同じ純粋アルゴリズムがブラウザでは無料、APIでは成功1件あたり$0.002で動きます。
ヒストグラムが返す内容と等幅ビンの切り方
正の整数 k として bin_count を渡すと、幅は観測範囲を k で割った値になり、最後の端は標本の最大値そのもの、最後のビンは右側が閉じて最大値が一度だけ数えられ、端から落ちません。正の bin_width を渡すと、エンジンは範囲をその幅で割った切り上げ(少なくとも1)だけビンを取り、最後の端は最大値をわずかに超えてすべての値を覆うことがあります。乱数ゆらぎも日付シードも通信段階もなく、長さ・大きさ・ビン数の公開上限内で算術が終わるか、invalid_input で拒否されるかです。
入力契約、非数値の拒否、割り当てが安定する理由
各トークンは有限小数で、符号と科学的指数は任意です。空トークン、真偽値、オブジェクト、Infinity、NaN は失敗します。非数値の要素があれば、メッセージは data[2] のように添字を示し、貼り付け列の紛れラベルが黙ってゼロになる代わりに見えます。応答のあと何も保存しません。必須欄は有限数の配列 data で、同じ契約をノートやフォームが使えるよう values・numbers・x・series の別名もあります。テキスト欄が JSON 配列を送れないときは、カンマ・セミコロン・空白区切りの数値文字列も受け付けます。あわせて正の有限数 bin_width、または公開上限以下の正の整数 bin_count のどちらかを送ってください。両方あるときは bin_width が優先され、bin_count は範囲から再計算されます。data 欠落、空リスト、非正の幅、非整数または非正の本数、最大 n を超える長さ、大きさ上限外の値、暗黙のビン数が公開上限を超えるほど狭い幅は、すべて invalid_input となり課金されません。
度数分布表が学習・分析・製品に収まる場所
開発者は割り当て規則の将来変更がスナップショットを黙って書き換えないよう、継続的インテグレーションで JSON を固定します。このページは Scott 則でも Freedman–Diaconis でも作図エンジンでもありません。それらは幅を選ぶか棒を描きます。API では成功した照会ごとに $0.002 で、検証失敗は課金されず、数値は応答後に捨てられます。
技術的な質問
このヒストグラム計算機はビンの端をどう決めますか。
最初の端は標本の最小値です。bin_count が k のとき幅は (max − min) / k で、最後の端はちょうど max です。bin_width が h のとき本数は ceil((max − min) / h) で、最後の端は min + k·h です。
bin_width と bin_count の違いは何ですか。
bin_width は各クラスの長さで、エンジンが範囲を覆う本数を導きます。bin_count は欲しいクラス数で、エンジンが幅を導きます。両方送ると bin_width が勝ちます。
ヒストグラム計算機の料金はいくらですか。
ブラウザ上の道具は無料です。API 要求は成功1件あたり $0.002 の前払い KIT 残高を使い、不正な入力は課金されません。