メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

ヒストグラムを使ってデータの変動を理解する

この例では、既存の ThingSpeak ™チャネルからデータを読み取り、ヒストグラム プロットを生成する方法を示します。ヒストグラムには、選択したデータ内で各特定の温度が記録された回数が表示されます。この例では、開始点として、ThingSpeak の MATLAB Analysis アプリと MATLAB Visualizations アプリが提供するコード テンプレートの 1 つを使用します。

ThingSpeak チャネル12397 には、マサチューセッツ州ネイティックの MathWorks ® キャンパスの駐車場の上にある気象観測所からの気象データが含まれています。フィールド 4 には温度測定値が含まれます。

テンプレートから MATLAB の可視化を作成する

ThingSpeakチャネルからのデータ セットのヒストグラム可視化を作成するには、コード テンプレートを使用して MATLAB スクリプトを作成します。

Apps タブに移動し、MATLAB Visualizations を選択します。新規 をクリックし、ヒストグラムを使用してデータの変化を理解する を選択して、作成 をクリックします。

データを可視化する

ThingSpeak は、温度ヒストグラムを生成するためのコードを MATLAB コード フィールドに入力します。

1) ThingSpeak と通信するための変数を指定します。気象ステーションのチャネルは公開されているため、読み取り API キーは不要です。独自のチャネルから読み取る場合は、これらの値を変更できます。

readChannelID = 12397;
TemperatureFieldID = 4;
readAPIKey = '';

2) thingSpeakRead を使用して 1200 分間の温度データを取得します。

tempF = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,...
'NumMinutes',20*60,'ReadKey',readAPIKey);

3) histogram を使用してプロットを生成します。x 軸と y 軸のラベルとグラフのタイトルを設定します。

histogram(tempF);
xlabel('Temperature (F)');
ylabel('Number of Measurements for Each Temperature');
title('Histogram of Temperature Variation');

4) アプリケーションに合わせてテンプレート コードを編集できます。たとえば、コードを編集して、読み取る分数とプロットのタイトルを変更します。保存して実行 を押してプロットを生成します。

ヒストグラムはリアルタイム データから生成されるため、実際のヒストグラムはこのプロットとは同一にはなりません。

5) オプションで、保存した可視化をチャネルに追加できます。表示設定 で、この可視化をチャネルに追加/編集する の横にあるプラス記号を使用して、チャネルリストを展開します。

可視化を追加するチャネルに対応するチェックボックスを選択します。プライベートな可視化を追加するには、プライベート ビュー をオンにします。URL を共有し、可視化を パブリック ビュー に追加するには、[パブリック URL の作成] をクリックします。選択内容を更新するには、[表示設定を保存] をクリックします。

2つのヒストグラムを比較する

Histogram を使用すると、さまざまな条件での分布を比較することもできます。現在の変動と前日の変動を比較することができます。次のコードはテンプレートに含まれていません。複数の分布をプロットするには、このコードをテンプレートに追加します。

1) 前日の追加データを読み取り、元のデータセットと比較します。

tempFYesterday = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,...
'DateRange',[datetime('today')-days(2),datetime('today')-days(1)],'ReadKey',readAPIKey);

2) hold on をオンにして、データを同じプロット上に維持します。データを区別するには、histogram を使用し、'FaceColor'to を赤に設定します。凡例も追加します。

% Plot the original Data
histogram(tempF)
xlabel('Temperature (F)');
ylabel('Number of Measurements for Each Temperature');
title('Histogram of Temperature Variation');
hold on
histogram(tempFYesterday,'FaceColor','r');
legend('Today','Yesterday');

3) 保存して実行 を押してデュアル プロットを生成します。

出力の可視化では、2 つの期間の変動の違いが示されます。

参考

関数

トピック