Main Content

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

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

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

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

«テンプレートからMATLABビジュアライゼーションを作成する»

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

[アプリ] タブに移動し、[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 つの期間のばらつきに違いがあることを示しています。

参考

関数

関連する例

詳細