ドットプロットには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: