ドットプロット

ドットプロットには2通りの意味がある。小学校で習うドットプロットと,Clevelandのドットプロットである。以下では小学校で習うドットプロットを扱う。

現行(平成29年告示)小学校学習指導要領では,第1学年で絵を積み重ねたグラフ,第3学年で○を積み重ねたグラフを習う。ドットプロットという名前が登場するのは第6学年の「D データの活用」で,そこには「〔用語・記号〕ドットプロット 平均値 中央値 最頻値 階級」と書かれている。学習指導要領解説には度数分布を表す「柱状グラフ」も記述されている。

このようなドットプロットは,Rでは stripchart(..., method="stack"))で描けるが,Pythonでは標準的な方法がなさそうで,How to create a "dot plot" in Matplotlib? (not a scatter plot) でいろいろな方法が挙げられている。次は,一番簡単そうな方法を少しアレンジしたものである:

import matplotlib.pyplot as plt

hist = [0, 2, 8, 15, 9, 1]  # for 0, 1, 2, 3, 4, 5

for x, y in enumerate(hist):
    plt.plot([x] * y, range(1, y + 1), "ko")

# 以下は好みに応じて微調整
plt.xticks(range(0, 6))
plt.xlim(-0.5, 5.5)
ドットプロット

ほかにもいろいろな方法がある。例:

x = []
y = []
for i, h in enumerate(hist):
    for j in range(h):
        x.append(i)
        y.append(j + 1)

plt.scatter(x, y)

Last modified: