Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

ヒストグラムを使用したデータのばらつきの把握

この例では、MATLAB® Visualization アプリで利用可能なテンプレート コードを使用して、既存の ThingSpeak™ チャネルからデータを読み取り、ヒストグラム プロットを生成します。

ThingSpeak チャネル 12397 には、マサチューセッツ州ネイティックの MathWorks® 敷地内の駐車場ビルの上にある、気象計の天気データが含まれています。Field 4 には、温度の測定値が含まれています。ヒストグラムには、選択したデータの特定の各温度が記録された回数が表示されます。

テンプレート コードからの MATLAB の可視化の作成

  1. 新しい MATLAB の可視化を生成します。[Apps]

    を選択し、[MATLAB Visualization] のアイコンを選択します。

  2. [New] を選択し、[View temperature variation over the last 24 hours using a histogram] を選択します。

  3. [Create] を押して、テンプレート コードを使用した可視化を生成します。

データの解析

ThingSpeak によって、温度ヒストグラムを生成するコードが [MATLAB Code] ウィンドウに入力されます。最初のセクションには、ThingSpeak と通信するための変数が含まれています。気象計チャネルは公開されているため、Read API キーを追加する必要はありません。独自のチャネルから読み取る場合は、これらの値を変更できます。

% Channel ID to read data from
readChannelID = 12397;

% Temperature Field ID
TemperatureFieldID = 4;

% Channel Read API Key 
% If your channel is private, then enter the read API
% Key between the '' below: 
readAPIKey = '';

thingSpeakReadを使用して、600 分の温度データを取得します。

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

histogram (MATLAB)を使用してプロットを生成します。x 軸と y 軸のラベル、およびチャートのタイトルを設定します。

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

テンプレート コードは用途に合わせて編集できます。たとえば、何分間読み取るかや、コードのプロット タイトルなどです。[Save and Run] を押して、プロットを生成します。

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

詳細な解析

ヒストグラムではまた、異なる条件での分布を比較することもできます。現在の変動を以前の日の変動と比較することができます。このセクションは、テンプレートに含まれていません。このコードは、複数の分布を確認するために追加できます。最初に、過去の日の追加データを読み取り、元のデータセットと比較します。

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

hold on をオンにして、同じプロットにデータを保持します。データを区別するために、'FaceColor' に赤を指定して histogram を使用します。凡例も追加します。

hold on
histogram(tempFYesterday,'FaceColor','r');
legend('Today','Yesterday');

出力の可視化は、2 つの期間のばらつきに違いがあることを示しています。