グラフの例:男女別睡眠時間の推移

平成18年社会生活基本調査 の「生活時間編・時間帯編・平均時刻編」の「結果の概要」のp.8にあるデータです。ここで 7.56 などとあるのは 7+56/60 の意味です(誤解を避けるために 7:56 などと書くほうがいいでしょう)。「15歳以上」とのことですが,睡眠時間は年齢に依存するので,日本人の年齢分布が時間とともに変われば,それだけで睡眠時間の平均値は変わってしまうので,このようなグラフは注意して見なければなりません。

# par(family="HiraKakuProN-W3") # Macでのフォント指定
par(xpd=TRUE)  # プロットエリア外に text() を描く
par(mgp=c(2,1.8,1))     # 軸マージン(デフォルト: c(3,1,0))
par(las=1)              # 縦軸の文字を横向きにしない

睡眠時間 = data.frame(
  年=seq(1986,2006,5),
  男=c(7+56/60,7+50/60,7+52/60,7+49/60,7+47/60),
  女=c(7+39/60,7+34/60,7+36/60,7+35/60,7+32/60))

plot(睡眠時間$年, 睡眠時間$男,
     pch=16, type="o", ylim=c(7.5,8),
     xlab="", ylab="", axes=FALSE,
     col="royalblue3", lwd=2)
points(睡眠時間$年, 睡眠時間$女, pch=1, type="o",
     col="orangered2", lwd=2)
mtext("15歳以上の日本人の睡眠時間", 3, cex=1.2,
      family="HiraKakuProN-W6")
axis(1, 睡眠時間$年)
t = seq(7.5, 8, 1/6)
axis(2, t, c("7:30", "7:40", "7:50", "8:00"))
text(1996, 睡眠時間$男[3], "男", pos=3)
text(1996, 睡眠時間$女[3], "女", pos=3)
axis(2, "時間", at=8, padj=-1)
t = c(睡眠時間$男[5], 睡眠時間$女[5])
text(2006, t, c("7:47", "7:32"), pos=1)

男女別睡眠時間の推移

このような折れ線グラフの縦横比は,折れ線の傾きが ±45° 程度になるのが最適と言われています。この原則を William S. Cleveland, The Elements of Graphing Data (Hobart Press, 1994) では banking to 45° と呼んでいます。ここでは最も急な1986〜1991年の傾きがほぼ45°になるようにしました。総務省の報告書のグラフは縦軸の範囲を広く取りすぎたため変化が読みにくくなっています。なお,睡眠時間の0点は特に意味がありませんので,0点と省略線は不要です。

こうした調査は NHK放送文化研究所 が5年ごとに行っている国民生活時間調査にもあります。 2005年の調査 では平均睡眠時間7:33,標準偏差1:41となっています。


奥村晴彦

Last modified: 2010-10-11 09:01:01