エクセルで論文や書籍のようなヒストグラムを描く

書籍や論文で見かけるヒストグラムは、以下のように、棒がくっついていて、境界にヨコ軸目盛があります。

as1-histogram

このグラフは本サービスで作成したN値のヒストグラムです。エクセルではなくPythonというプログラミング言語を利用して作成しています。

一方、下のグラフは、よく見かけるエクセルで作成したヒストグラムです。棒が離れていて、ヨコ軸にはラベルを表示しています。ラベルは棒の中央に配置されるので、値ではなく範囲を明記しています。

as1-histogram-by-excel

できれば、階級が一目で分かる最初の方のグラフを報告書に使いたいところです。実はエクセルでも同じようなグラフは作成できますが、非常に面倒です。

今回はどれだけ面倒かを実感するために、敢えてエクセルを使用してヒストグラムを描いてみます。

ポイントは複合グラフの第2軸を利用することです。

エクセルの複合グラフとは

異なる種類のデータを1つのグラフにプロットしたグラフです。例えば、月ごとの降水量を表す棒グラフに、月平均気温の折れ線グラフを一緒にプロットしたグラフなどがあります。

1. 使用データ

今回は、以下のAs1層のN値データを使ってヒストグラムを作成します。

histogram data

2. 棒グラフの作成

まず、メインとなる棒グラフを作成します。

以下のように、度数のデータの部分を選択 ▷ 挿入縦棒集合縦棒のグラフを選択してOKをクリックします。

histogram chart data 01

すると、以下のようなグラフが作成されます。

histogram chart 01

3. ダミーグラフのデータ選択

棒グラフのヨコ軸は、数値軸ではなく「ラベル」であるため、棒の中央に配置されてしまいますが、目標としているスタイルでは、目盛のところに数値が表示されます。

そこで、同じデータを仮(ダミー)で追加し、散布図としてプロットして、そのヨコ軸(数値軸)を流用します。

グラフの部分を右クリックして、データの選択を選び、表示された「データソースの選択」ダイアログから追加をクリックします。表示されたダイアログで、以下のように同じデータでグラフを追加します。

hist data of dummy graph

すると以下のようなグラフが作成されます。

hist data of dummy graph

4.棒グラフの使用する軸を変更する

棒グラフ(系列1)を右クリックして、「データ系列の書式設定」を選択して、以下のように「系列のオプション」で使用する軸「第2軸(上/右側)」にします。

hist xaxis setting

すると、以下のように1番目の棒グラフ(系列1)=第2軸2番目の棒グラフ(系列2)=主軸、となりそれぞれ違う軸にプロットされるので、以下のように2つの棒グラフは重なります

hist two bar charts

5.ダミーグラフの種類を変更する

後から追加した棒グラフを散布図に変更します。

2つの棒グラフは重なっているので、以下のようにグラフツール ▷ レイアウト のリボンを表示して、一番左側のプルダウンメニューから「系列2」を選択します。

hist data2 selection

次に、リボンをグラフツール ▷ デザインに変更して、以下のように「グラフの種類の変更」をクリックします。

hist data of dummy graph

以下のようなダイアログが表示されるので、散布図(マーカーのみ)を選択します。

hist data of dummy graph

すると以下のようなグラフが表示されます。ヨコ軸が数値軸に変更されたのがわかります。

hist data of dummy graph

6.ヨコ軸のスタイル調整

ヨコ軸を右クリックして、「軸の書式設定」を選択し、表示されるダイアログで最小値、最大値、目盛間隔を以下のように設定します。

xaxis excel setting

7.ダミーグラフの非表示

ダミーの散布図のプロットは必要ないので非表示にします。

散布図のプロットを右クリックして、「データ系列の書式設定」を選択して、以下のようにマーカーのオプションを「なし」にします。

chart2 hidden setting

すると、以下のようなグラフになります。かなりそれらしくなりました。あともう少しです。

hist excel styling

8.棒グラフのスタイル調整

最後に、棒グラフの幅を目盛いっぱいまで拡張します。

棒グラフの部分を右クリックして、「データ系列の書式設定」を選択して、以下のように系列のオプションで要素の間隔を「なし」にします。

hist bar width setting

すると以下のようなグラフになります。

hist excel bar chart

あとは、細かいスタイルを調整すれば、書籍や論文のような以下のヒストグラムの完成です。

hist excel bar chart

以上のように、エクセルでヒストグラムをそれらしく描くのは結構面倒です。そのため、通常はグラフ作成専用のツール(例えば、gnuplotなど)を使います。本サービスでもPythonのグラフ作成専用のライブラリ(matplotlib)を使用しています。