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

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

» 2020年10月02日 05時00分 公開
[塩田紳二]

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

「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)
データが上部(行の先頭方向)にあるものほど左側に来るようにして、測定値データを左上から右下へ階段状に並べ替える。

 次に、列が「時系列」「リビング温度」「オフィス温度」「屋外温度」の順になるように入れ替える。これは、Excelのグラフ作成機能に表データを誤認識させないための作業だ。Excelのグラフ機能では、対象データを調べてグラフ化を行うが、作業時間を短縮するためか、表の全てを見るのではなく、上の方だけを見て判断するようになっているようだ。このため、表の上側の列に空のセルが続いていると、表の構造を誤ってしまい思った通りのグラフにならないからだ。

 Excelにグラフを作成させておかしくなった場合、経験上、表の上部だけきちんと整っているように見える状態にすると、うまくいくことが多い。散布図に限らず、多くの場合に利用できるやり方なので覚えておくと何かと役に立つだろう。

 この表の構造では、元データの数値を加工しないので、比較的作業がやりやすいはずだ。また、データの並べ替えも不要で、むしろ並べ替えするとグラフ表示がおかしくなることが多い。日時データは、ソートなどする必要がなく、オリジナルのままで構わない。開始終了の日時は全ての系列で一致している必要もない。オリジナルそのままを貼り付けて、データを系列ごとに別の列へ配置または移動すればよい。

散布図でプロットさせる

 ここまで準備ができたら、グラフを作成するため表全体を選択する。こうした空きの多い表でも、表データ内のいずれかのセルを選択してから[Ctrl]+[A]キーを押すと、簡単に表全体を選択できる。表を選択したら、[挿入]タブの[グラフ]グループで[散布図]を選ぶ。

散布図を選択する 散布図を選択する
表を選択したら、[挿入]タブを開き、[グラフ]グループで[散布図]を選ぶ。

 散布図には、幾つかのパターンがある。プロット値を小さな「◯」などで表す「マーカー」、プロット値同士を滑らかな曲線でつなぐ「平滑線」、プロット値同士を直線で結ぶ「直線」と、それぞれを組み合わせたものがある。それぞれに特色があるので、データに対して適切なものを選択する。

Excelがサポートする散布図のパターン Excelがサポートする散布図のパターン
散布図は、[挿入]タブ−[おすすめグラフ]をクリックして表示される「グラフの挿入」ダイアログで、[すべてのグラフ]タブ−[散布図]を選ぶと、プレビューを見ながらパターンを選択できる。パターンは7つあり、左から「マーカーのみ」「マーカーと平滑線」「平滑線のみ」「マーカーと直線」「直線のみ」、残りの2つは「バブル」と呼ばれ、3次元データ用だ。

 「平滑線」を使うとグラフが滑らかになって、見た目は悪くないが、データによっては、うまく表示されないこともある。これは、実際にグラフにしてみないと分からない。まずは、「散布図(マーカーと平滑線)」を選択するのが無難な選択だ。

 「マーカーのみ」は、自分で近似曲線などを追加する場合向いている。どちらかというとエンジニア同士で情報を共有するような場合に向いた形式だ。多数のデータがある場合にマーカー同士が重なってしまい、太い線のように見えてしまうことがある点には注意したい。

 ただ、これは後から「データ系列の書式設定」でマーカーサイズを小さくすることで修正が行える。逆に大量のデータがある場合には、マーカー間に直線を引かずともマーカーがつながってグラフの形状が見えることが多い。データが多数だと、直線や平滑線は計算や描画時間を取られてしまうため、マーカーだけにしておくという方法もある。

 「直線」を選択すると折れ線グラフのようになり、ジグザグの線になる。現実世界からの測定データのように、きれいに並んだ表にならないデータでも「折れ線」グラフを作ることができる。こちらも自分で近似曲線を追加するなどに向いている。

 散布図にある「バブル」チャートは、3次元データを扱う場合の形式の1つだ。3組のデータを使い、最後の系列のデータをバブルの大きさに対応させる。

 グラフ作成の作業はそれほど面倒ではないので、複数のパターンで散布図グラフを作ってみて、よさそうなものを選ぶといいだろう。

 前述の温度測定結果の表データに対して、マーカーのみの「散布図」のグラフを指定し、あとは何もグラフに修正を加えていないのが以下の画面だ。

作成した散布図 作成した散布図
作成した表を散布図にした直後の何も手を加えていない状態。縦軸と横軸の範囲調整は必要だが、グラフは温度変化を表した「正しい」形状になっている。

 一方、同じ表を選択して作成した折れ線グラフは、正しく描画できなかった。

同じ表を折れ線グラフにした場合 同じ表を折れ線グラフにした場合
同じ表に対して折れ線グラフを指定すると、系列は正しく認識されるものの、全て同じ場所にプロットされてしまい正しいグラフにならない。

 作成した散布図は、縦軸、横軸の最大値、最小値が適切な値になっていないので、これを修正しつつ、マーカーサイズなどを小さくするなどの変更を加えたのが以下の画面だ。少し手を加えるだけでも、見栄えのよいグラフを作ることができる。

散布図の縦軸などを調整したグラフ 散布図の縦軸などを調整したグラフ
作成した散布図で縦軸の最小値と、横軸の最小値、最大値を調整すれば、グラフが範囲全体に広がり、温度変化が分かりやすいグラフになる。


 現実に手に入るデータにはさまざまな形式があり、条件の違う複数のデータを1つのグラフにプロットしなければならないことも少なくない。もちろん、データを加工し、補間計算などを行えば、1つの日時に対して複数の系列値が並ぶきれいな表を作ることも可能だが、それでは手間が掛かり過ぎる。そもそも、Excelのグラフ機能は手間を省くために存在している。それなのに手間がかかっては意味がない。散布図を使えば、こうしたグラフを簡単に作ることが可能だ。

 散布図は、X軸とY軸の値で点を打っていきながら画像を作っていくイメージだ。だから、上下の行で日時のデータが連続していなくても構わない。この考えになじめると、散布図でさまざまな情報の「視覚化」を行うことが可能になる。

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

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

メールマガジン登録

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