連載
» 2020年10月02日 05時00分 公開

Tech TIPS:【Excel】データの2軸の相関を一発プレゼン:かんたん散布図作成法

Excelを使って、さまざまなデータをグラフ化している人も多いのではないだろうか。ただ、Excelでグラフを作成する場合、決まった一定の間隔(時間)で取得されたデータを使わないと、折れ線グラフなどが正しく描けない。だが現実には、同じ時間で計測したデータばかりが集まるわけではない。そのような場合には「散布図」を使うのが便利だ。

[塩田紳二,著]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

対象:Office 2013/2016/2019/365


折れ線グラフでは思った通りのグラフができないことも…… 折れ線グラフでは思った通りのグラフができないことも……
Excelの折れ線グラフは、きちんとした表形式になっていないと思った通りのグラフにできないことがよくある。その場合、表を整えるよりも、表に対する制約が少ない「散布図」を使うとよい。

 「Microsoft Excel(エクセル)」を使って、さまざまなデータをグラフ化することで、分析を行っている人も多いのではないだろうか。ただ、Excelでグラフを作成する場合、決まった一定の間隔(時間など)で取得されたデータを使わないと、折れ線グラフなどが正しく描けない。

 例えば、複数の温度センサーを使って計測したデータをグラフにするような場合、微妙な開始時刻のずれや、複数の機器が混在している場合の測定間隔の違いなどが発生することがある。しかし、Excelでこうしたデータをグラフ化しようとすると簡単にはいかない。折れ線グラフで複数の系列を扱う場合には、全ての測定日時がそろっていないと、データを「正しく」表現するグラフを描画してくれないからだ。

 今回は、こうしたバラバラの日時に行われた複数の測定値のようなデータを1つのグラフに表示させる方法を解説する。

散布図はより多くの表構造に対応できる

 こうしたグラフの作成には「散布図」を使うとよい。散布図とは、グラフの縦軸(Y)と横軸(X)の値を組にした表を線や点(マーカー)でプロットするグラフのことだ。通常のグラフと違うのは、値に重複があってもいいし、バラバラでも構わない。また、複数系列の場合、値のないセルが混在してもグラフ化できるという特徴がある。他のグラフに比べると、元データの表構造に強い制限がない。

 簡単な例で見てみよう。日付と値を組み合わせたデータが3組ある。日数は同じだが、開始日が1日ずれている。この表を連結して1つの表にしたものをグラフ化してみる。

折れ線グラフと散布図 折れ線グラフと散布図
日付と数値の組み合わせが3系列分ある場合、単純に表を縦に連結しただけでは、折れ線グラフは対応できないが、散布図は正しくグラフを作ることができる。

 すると、折れ線グラフは表示が破綻しているのに対して、散布図は正しくグラフが表示できている。折れ線グラフを正しく表示させるには、3系列のデータの日時部分を統合して、きれいな構造の表を作る必要がある。

折れ線グラフを正しく表示させる方法 折れ線グラフを正しく表示させる方法
折れ線グラフを正しく表示させるには、3つの系列の日付部分を共通化して一行に収める必要がある。しかし、この作業は手動で行う必要があり、データが大量にあるとかなり面倒になる。

 しかし、そのためには、3系列の日付データを1つに統合しなければならず、表作成の作業の負担は小さくない。これは日付のみだが、時分秒までを含んだ大量の時刻データの場合、時刻で並べ替えした後、同じ時刻の行に各系列の値が並ぶように手作業でセルを移動させるなど面倒な作業となる。

 しかし、これはあくまでも簡単な例だ。実際には、日時の範囲は同一でも一致する測定日時がほとんどないという状態のデータも少なくない。こうした現実にありそうなデータをグラフ化してみよう。

実際に気温測定デバイスのデータをグラフ化してみよう

 ここでは、筆者が利用している気温測定デバイスからの測定データを例に散布図の作成方法を解説していく。この測定データは、3つの温度センサーを使って、3つの場所で計測したものだ、気温測定デバイスのうち1つは、違うメーカーの機種だ。それぞれスマートフォンアプリからCSVファイルをエクスポートできる。これをPCに転送して処理してみる。

 3つの温度センサー(それぞれ、「オフィス」「リビング」「屋外」という名前とする)からの時系列の気温データをグラフにして可視化したい。それぞれの測定日時は、特定の1日の間に収まっている一方で、測定時間はバラバラでほとんど一致していない。また、測定間隔も、サンプル数も異なっている。なお、ここでは温度のデータ列の見出しを「リビング温度」「オフィス温度」「屋外温度」としている。

3つの温度センサーの測定履歴CSVファイル 3つの温度センサーの測定履歴CSVファイル
サンプルに使う3種類の温度センサーで取得したデータだ。それぞれの測定開始時間や測定間隔などに違いがある。ここでは大量のデータの中から、特定の1日のものだけを切り出したが、データ数はセンサー(系列)ごとに違いがある。

 散布図でこうしたデータをグラフ化する場合、元データのうち、時系列データ(測定日時)は1つの列にまとめつつ、温度データは、系列ごとに別の列にして単に縦に結合して並べたままでよい(詳細はすぐ後で説明する)。この形式の表は、先ほどの例のように日時で各系列データを1行に並べる必要がないため、比較的簡単に作ることができる。

 まずは、「リビング」の系列分のデータ(測定日時と温度)をワークシートに貼り付ける。次に、測定日時と温度の間に1列を挿入する(表全体に列を挿入する)。その後、「リビング」のデータの下に「オフィス」の系列のデータを貼り付ける。各系列に対して、この手順を繰り返していくが、最後の「屋外」の系列だけは表の最後に追加したら、列は挿入しない。

気温測定デバイスのデータをグラフ化(1) 気温測定デバイスのデータをグラフ化(1)
散布図用の表を作る場合、最初の表を新しいシートに貼り付ける。
気温測定デバイスのデータをグラフ化(2) 気温測定デバイスのデータをグラフ化(2)
日時列の右隣の列を選択してから[Ctrl]+[+]キーを押して、空列を挿入する。
気温測定デバイスのデータをグラフ化(3) 気温測定デバイスのデータをグラフ化(3)
表の末尾に次の表を貼り付ける。
気温測定デバイスのデータをグラフ化(4) 気温測定デバイスのデータをグラフ化(4)
日時列の右隣の列を選択してから[Ctrl]+[+]キーを押して、空列を挿入し、3つ目の表を末尾に貼り付ける。
気温測定デバイスのデータをグラフ化(5) 気温測定デバイスのデータをグラフ化(5)
最も右側にある「リビング温度」列を選択して、[Shift]キーを押しながらその境界をドラッグ&ドロップして移動させる。
気温測定デバイスのデータをグラフ化(5) 気温測定デバイスのデータをグラフ化(5)
データが上部(行の先頭方向)にあるものほど左側に来るようにして、測定値データを左上から右下へ階段状に並べ替える。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。