1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

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 maxval) maxval =values[i] }

ステップ 4

データをステップスルーし、「minval」変数をデータの最大値に設定します:

int minval =maxval; for (i=0; i

ステップ 5

周波数配列のサイズを保持する変数「freqsize」を宣言します:

int freqsize =maxval - minval + 1;

ステップ 6

頻度カウントを保持する配列を宣言し、各配列要素をゼロに初期化します。

int 周波数[周波数サイズ]; for (i=0; i

データ セット内の可能な値ごとに 1 つの配列要素があります。

ステップ 7

データ セット内の各値をステップ実行し、その値に対応する頻度配列要素に 1 を追加します。

for (i =0; i

現在の値に対応するインデックスは、値を最小値だけシフトすることによって生成されます。

ステップ 8

頻度配列の各要素をステップ実行します。現在の値 (反復子 "i" を最小値だけシフトして計算) を出力します。 1 から頻度配列に格納されている値までループすることにより、現在の値の頻度に対応する星の数 (*) を出力し、毎回 1 つの星を出力します。

for (i=1; i<=freqsize; i++) { printf("%2d\t|", i + minval); for(j=0; j