C プログラミング コードを使用してヒストグラムを作成する方法

ヒストグラムは、表計算ソフトウェアでデータを分析する際のチャート オプションとして、また画像内の黒から白へのトーンの分布を示すための画像編集ソフトウェアでよく見られます。 C プログラミング言語では、配列を使用して頻度カウントを保持すると、データ セットのヒストグラムを簡単に作成できます。ヒストグラムの作成に使用されるデータセットには通常整数値が含まれていますが、文字や文字列を数えてグラフ化することもできます。
ステップ 1
「values」という整数配列にデータ セットを入力し、「numvalues」変数をデータ セット内の値の数に設定します。これらは、ランダムに生成されたり、ファイルから読み取られたり、ユーザーからインタラクティブに収集されたりする可能性があります。この例では、宣言時にこれらの変数を初期化します:
int numvalues =20; int値[数値] ={ -3, 2, -2, 4, 5, 4, 2, 5, 4, 5, -1, 2, 3, 4, 7, 4, 2, 0, 7, -3 };
ステップ 2
イテレータとして使用する 2 つの整数変数 (i と j) を設定します。
int i =0, j =0;
ステップ 3
データ (values 配列) を反復処理し、「maxval」変数をデータの最大値に設定します。
int maxval =0; for (i=0; i
ステップ 4
データをステップスルーし、「minval」変数をデータの最大値に設定します:
int minval =maxval; for (i=0; i
周波数配列のサイズを保持する変数「freqsize」を宣言します:
int freqsize =maxval - minval + 1;
頻度カウントを保持する配列を宣言し、各配列要素をゼロに初期化します。
int 周波数[周波数サイズ]; for (i=0; i
データ セット内の可能な値ごとに 1 つの配列要素があります。
データ セット内の各値をステップ実行し、その値に対応する頻度配列要素に 1 を追加します。
for (i =0; i
現在の値に対応するインデックスは、値を最小値だけシフトすることによって生成されます。
頻度配列の各要素をステップ実行します。現在の値 (反復子 "i" を最小値だけシフトして計算) を出力します。 1 から頻度配列に格納されている値までループすることにより、現在の値の頻度に対応する星の数 (*) を出力し、毎回 1 つの星を出力します。
for (i=1; i<=freqsize; i++) { printf("%2d\t|", i + minval); for(j=0; j ステップ 5
ステップ 6
ステップ 7
ステップ 8