Excelを使って、さまざまなデータをグラフ化している人も多いのではないだろうか。ただ、Excelでグラフを作成する場合、決まった一定の間隔(時間)で取得されたデータを使わないと、折れ線グラフなどが正しく描けない。だが現実には、同じ時間で計測したデータばかりが集まるわけではない。そのような場合には「散布図」を使うのが便利だ。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Office 2013/2016/2019/365
「Microsoft Excel(エクセル)」を使って、さまざまなデータをグラフ化することで、分析を行っている人も多いのではないだろうか。ただ、Excelでグラフを作成する場合、決まった一定の間隔(時間など)で取得されたデータを使わないと、折れ線グラフなどが正しく描けない。
例えば、複数の温度センサーを使って計測したデータをグラフにするような場合、微妙な開始時刻のずれや、複数の機器が混在している場合の測定間隔の違いなどが発生することがある。しかし、Excelでこうしたデータをグラフ化しようとすると簡単にはいかない。折れ線グラフで複数の系列を扱う場合には、全ての測定日時がそろっていないと、データを「正しく」表現するグラフを描画してくれないからだ。
今回は、こうしたバラバラの日時に行われた複数の測定値のようなデータを1つのグラフに表示させる方法を解説する。
こうしたグラフの作成には「散布図」を使うとよい。散布図とは、グラフの縦軸(Y)と横軸(X)の値を組にした表を線や点(マーカー)でプロットするグラフのことだ。通常のグラフと違うのは、値に重複があってもいいし、バラバラでも構わない。また、複数系列の場合、値のないセルが混在してもグラフ化できるという特徴がある。他のグラフに比べると、元データの表構造に強い制限がない。
簡単な例で見てみよう。日付と値を組み合わせたデータが3組ある。日数は同じだが、開始日が1日ずれている。この表を連結して1つの表にしたものをグラフ化してみる。
すると、折れ線グラフは表示が破綻しているのに対して、散布図は正しくグラフが表示できている。折れ線グラフを正しく表示させるには、3系列のデータの日時部分を統合して、きれいな構造の表を作る必要がある。
しかし、そのためには、3系列の日付データを1つに統合しなければならず、表作成の作業の負担は小さくない。これは日付のみだが、時分秒までを含んだ大量の時刻データの場合、時刻で並べ替えした後、同じ時刻の行に各系列の値が並ぶように手作業でセルを移動させるなど面倒な作業となる。
しかし、これはあくまでも簡単な例だ。実際には、日時の範囲は同一でも一致する測定日時がほとんどないという状態のデータも少なくない。こうした現実にありそうなデータをグラフ化してみよう。
ここでは、筆者が利用している気温測定デバイスからの測定データを例に散布図の作成方法を解説していく。この測定データは、3つの温度センサーを使って、3つの場所で計測したものだ、気温測定デバイスのうち1つは、違うメーカーの機種だ。それぞれスマートフォンアプリからCSVファイルをエクスポートできる。これをPCに転送して処理してみる。
3つの温度センサー(それぞれ、「オフィス」「リビング」「屋外」という名前とする)からの時系列の気温データをグラフにして可視化したい。それぞれの測定日時は、特定の1日の間に収まっている一方で、測定時間はバラバラでほとんど一致していない。また、測定間隔も、サンプル数も異なっている。なお、ここでは温度のデータ列の見出しを「リビング温度」「オフィス温度」「屋外温度」としている。
散布図でこうしたデータをグラフ化する場合、元データのうち、時系列データ(測定日時)は1つの列にまとめつつ、温度データは、系列ごとに別の列にして単に縦に結合して並べたままでよい(詳細はすぐ後で説明する)。この形式の表は、先ほどの例のように日時で各系列データを1行に並べる必要がないため、比較的簡単に作ることができる。
まずは、「リビング」の系列分のデータ(測定日時と温度)をワークシートに貼り付ける。次に、測定日時と温度の間に1列を挿入する(表全体に列を挿入する)。その後、「リビング」のデータの下に「オフィス」の系列のデータを貼り付ける。各系列に対して、この手順を繰り返していくが、最後の「屋外」の系列だけは表の最後に追加したら、列は挿入しない。
次に、列が「時系列」「リビング温度」「オフィス温度」「屋外温度」の順になるように入れ替える。これは、Excelのグラフ作成機能に表データを誤認識させないための作業だ。Excelのグラフ機能では、対象データを調べてグラフ化を行うが、作業時間を短縮するためか、表の全てを見るのではなく、上の方だけを見て判断するようになっているようだ。このため、表の上側の列に空のセルが続いていると、表の構造を誤ってしまい思った通りのグラフにならないからだ。
Excelにグラフを作成させておかしくなった場合、経験上、表の上部だけきちんと整っているように見える状態にすると、うまくいくことが多い。散布図に限らず、多くの場合に利用できるやり方なので覚えておくと何かと役に立つだろう。
この表の構造では、元データの数値を加工しないので、比較的作業がやりやすいはずだ。また、データの並べ替えも不要で、むしろ並べ替えするとグラフ表示がおかしくなることが多い。日時データは、ソートなどする必要がなく、オリジナルのままで構わない。開始終了の日時は全ての系列で一致している必要もない。オリジナルそのままを貼り付けて、データを系列ごとに別の列へ配置または移動すればよい。
ここまで準備ができたら、グラフを作成するため表全体を選択する。こうした空きの多い表でも、表データ内のいずれかのセルを選択してから[Ctrl]+[A]キーを押すと、簡単に表全体を選択できる。表を選択したら、[挿入]タブの[グラフ]グループで[散布図]を選ぶ。
散布図には、幾つかのパターンがある。プロット値を小さな「◯」などで表す「マーカー」、プロット値同士を滑らかな曲線でつなぐ「平滑線」、プロット値同士を直線で結ぶ「直線」と、それぞれを組み合わせたものがある。それぞれに特色があるので、データに対して適切なものを選択する。
「平滑線」を使うとグラフが滑らかになって、見た目は悪くないが、データによっては、うまく表示されないこともある。これは、実際にグラフにしてみないと分からない。まずは、「散布図(マーカーと平滑線)」を選択するのが無難な選択だ。
「マーカーのみ」は、自分で近似曲線などを追加する場合向いている。どちらかというとエンジニア同士で情報を共有するような場合に向いた形式だ。多数のデータがある場合にマーカー同士が重なってしまい、太い線のように見えてしまうことがある点には注意したい。
ただ、これは後から「データ系列の書式設定」でマーカーサイズを小さくすることで修正が行える。逆に大量のデータがある場合には、マーカー間に直線を引かずともマーカーがつながってグラフの形状が見えることが多い。データが多数だと、直線や平滑線は計算や描画時間を取られてしまうため、マーカーだけにしておくという方法もある。
「直線」を選択すると折れ線グラフのようになり、ジグザグの線になる。現実世界からの測定データのように、きれいに並んだ表にならないデータでも「折れ線」グラフを作ることができる。こちらも自分で近似曲線を追加するなどに向いている。
散布図にある「バブル」チャートは、3次元データを扱う場合の形式の1つだ。3組のデータを使い、最後の系列のデータをバブルの大きさに対応させる。
グラフ作成の作業はそれほど面倒ではないので、複数のパターンで散布図グラフを作ってみて、よさそうなものを選ぶといいだろう。
前述の温度測定結果の表データに対して、マーカーのみの「散布図」のグラフを指定し、あとは何もグラフに修正を加えていないのが以下の画面だ。
一方、同じ表を選択して作成した折れ線グラフは、正しく描画できなかった。
作成した散布図は、縦軸、横軸の最大値、最小値が適切な値になっていないので、これを修正しつつ、マーカーサイズなどを小さくするなどの変更を加えたのが以下の画面だ。少し手を加えるだけでも、見栄えのよいグラフを作ることができる。
現実に手に入るデータにはさまざまな形式があり、条件の違う複数のデータを1つのグラフにプロットしなければならないことも少なくない。もちろん、データを加工し、補間計算などを行えば、1つの日時に対して複数の系列値が並ぶきれいな表を作ることも可能だが、それでは手間が掛かり過ぎる。そもそも、Excelのグラフ機能は手間を省くために存在している。それなのに手間がかかっては意味がない。散布図を使えば、こうしたグラフを簡単に作ることが可能だ。
散布図は、X軸とY軸の値で点を打っていきながら画像を作っていくイメージだ。だから、上下の行で日時のデータが連続していなくても構わない。この考えになじめると、散布図でさまざまな情報の「視覚化」を行うことが可能になる。
Copyright© Digital Advantage Corp. All Rights Reserved.