エクセルで簡単人口ピラミッド
アンケート調査で標本を表すときなどでもよく利用する人口ピラミッド型のグラフですが、Excelで描こうとすると結構面倒だったりします。以前は、2軸の横棒グラフで一生懸命調整をしていましたが、友人から「猿でも描ける」と教えられた方法を紹介します。
完成したグラフが下記になります。難点は横軸で数値を表せないので、データラベルで横棒グラフの中に数値を表記しています。今回使用しているのはExcel2007ですが、Excel2003でも同様に描くことができます。 人口ピラミッドのグラフを「左余白」、「男性」、「ラベル」、「女性」と4つのパーツに分けて積み上げ横棒グラフで描いているのがコツです。
今回サンプルとして作成しているのは、総務省の住民基本台帳に基づく人口・人口動態及び世帯数(平成20年3月31日現在)のデータから人口ピラミッドのグラフを作成しています。
都道府県別の年齢階級別人口の都道府県合算値が下記表の「男性」と「女性」値になります。これに「左余白」「右余白」「ラベル」「合計」列を追加します。
「左余白」は上図の男性グラフの左側の空白部分になります。同様に「右余白」は、女性グラフの右側空白部分です。「ラベル」は中央の年齢が記されている部分です。
グラフを中央に表記するために、「男性」+「左余白」=「女性」+「右余白」になるようにします。下表では、何れも5,200になるようにしています。なぜ、5,200としたのでしょうか。「男性」と「女性の」最大値は、5,079です。Excelでは、max(B3:C18)で求まります。つまり5,079以上であればいいわけですが、後は余白部分になりますので好みで調整してください。今回は、5200としているので「左余白」のD3には、=5200-B3 という式を埋め込み、これをD18までコピーします。同じく「右余白」のE3には、=5200-C3という式を埋め込み、E18までコピーします。取りあえずは、最大値より若干大きな値を設定して、実際にグラフを描写してから調整してください。
次に「ラベル」ですが、これは年齢を表記する部分です。文字列が入りきる大きさとグラフのバランスを考えて値を決めますが、大凡左右部分の1/3程度の値にします。 今回であれば、「男性」+「左余白」=5,200なので、5,200の1/3よりちょっと小さい1,600を指定しています。ラベルの値もグラフ描写後に調整可能です。
「合計」は単純に計算間違いしていないことの確認のための列なので、G3には=sum(B3:F3)を入力して、これをG18までコピーします。
|
A |
B |
C |
D |
E |
F |
G |
1 |
年齢 |
男性 (千人) |
女性 (千人) |
左余白 |
右余白 |
ラベル |
合計 |
2 |
0-4 |
2,789 |
2,652 |
2,411 |
2,548 |
1,600 |
12,000 |
3 |
5-9 |
3,006 |
2,858 |
2,194 |
2,342 |
1,600 |
12,000 |
4 |
10-14 |
3,070 |
2,927 |
2,130 |
2,273 |
1,600 |
12,000 |
5 |
15-19 |
3,143 |
3,003 |
2,057 |
2,197 |
1,600 |
12,000 |
6 |
20-24 |
3,580 |
3,429 |
1,620 |
1,771 |
1,600 |
12,000 |
7 |
25-29 |
3,979 |
3,799 |
1,221 |
1,401 |
1,600 |
12,000 |
8 |
30-34 |
4,733 |
4,524 |
467 |
676 |
1,600 |
12,000 |
9 |
35-39 |
4,880 |
4,679 |
320 |
521 |
1,600 |
12,000 |
10 |
40-44 |
4,181 |
4,050 |
1,019 |
1,150 |
1,600 |
12,000 |
11 |
45-49 |
3,887 |
3,812 |
1,313 |
1,388 |
1,600 |
12,000 |
12 |
50-54 |
3,945 |
3,915 |
1,255 |
1,285 |
1,600 |
12,000 |
13 |
55-59 |
5,026 |
5,079 |
174 |
121 |
1,600 |
12,000 |
14 |
60-64 |
4,264 |
4,445 |
936 |
755 |
1,600 |
12,000 |
15 |
65-69 |
3,717 |
4,058 |
1,483 |
1,142 |
1,600 |
12,000 |
16 |
70-74 |
3,159 |
3,716 |
2,041 |
1,484 |
1,600 |
12,000 |
17 |
75-79 |
2,404 |
3,196 |
2,796 |
2,004 |
1,600 |
12,000 |
18 |
80- |
2,354 |
4,806 |
2,846 |
394 |
1,600 |
12,000 |
実際にグラフを描いていきます。
積み上げ横棒グラフの描写
A1:F18を選択して積み上げ横棒グラフを描きます。
これだと何だかまだわかりませんね。
系列の順番を変更する
本来は「左余白」「男性」「ラベル」「右余白」なので、系列の順番を入れ替えます。
グラフを選択して右クリックで「データの選択」を選択すると下記の「データソースの選択」画面が開きます。
青矢印の上へ移動で下図のように「左余白」「男性」「ラベル」「右余白」の順番に変更します。
OKボタンを押して下さい。グラフが下図のようになるはずです。何となく形が見えてきました。
「余白」と「ラベル」の塗りつぶしを消す
続いて「左余白」「ラベル」「右余白」の色を消します。
「左余白」の系列(グラフ)を選択して、右クリックで「データ系列の書式設定」を選択します。
データ系列の書式設定で「塗りつぶしなし」を選択します。
「閉じる」を押して、同様に「ラベル」と「右余白」も塗りつぶしなしを選択してください。グラフが下図のようになります。
ラベルに年齢を表記する
続いてラベルに年齢を表記します。ラベルの系列(塗りつぶしなしにしたので見えない)を選択し、右クリックで「データラベルの追加」を選択します。
「ラベル」の値が表示されますので、再度、ラベルの系列を選択し、右クリックで「データラベルの書式設定」を選択します。下図のようにラベルの内容を「値」から「分類名」に変更します。
閉じるを押すとグラフが下図のようになります。
横(値)軸の調整
折角、横軸の値を12,000と決めたのにExcelが横軸の値を0~14,000にしてしまっています。横(値)軸を選択して、右クリックで軸の書式設定で0~12,000になるように調整しましょう。最小値を固定で0に最大値を固定で12000とします。
閉じると下図のようなグラフになります。
人口ピラミッドの完成
- 「凡例」から左余白、ラベル、右余白を削除して、凡例を上にします。
- 不要な軸と目盛線も削除します。「横(値)軸」「縦(項目)軸」「横(値)軸 目盛線」をそれぞれ選択して削除します。
- グラフが細いので「データ系列の書式設定」で「要素の間隔」を20%に変更します。
- グラフタイトルを追加します。
これで人口ピラミッドの完成です。