折れ線の描画
比率の分布を条件間で比較するとき、折れ線グラフを使うことができる。Spiegelhalter (2019)のFigure 0.2には、死亡時刻別の死亡者の比率をShipmanの患者と他の医師の患者とで比較した折れ線が載っている。このグラフを描くPythonスクリプト例をリスト1のように作成した。入力データファイル00-2-shipman-times-x.csvは、Spiegelhalter(2019), p. xviに記載されているウェブサイトからダウンロードしたものであり、リスト1のスクリプトはダウンロードしたRスクリプトを参考にした。
リスト1のスクリプトを実行すると、図1のグラフが表示される。
図1
Shipmanの患者の死亡時刻が、他の患者に比べて昼過ぎに多いが、Shipmanが昼食後に診察していたことが説明されている(Spiegelhalter, 2019)。
import pandas
as pd
import matplotlib.pyplot as plt
# ダウンロードしたファイルの読み込み
d_csv = pd.read_csv('00-2-shipman-times-x.csv')
hour = d_csv['Hour']
shipman = d_csv['Shipman']
comparison = d_csv['Comparison']
for v in zip(hour, shipman,
comparison):
print(v)
fig, ax = plt.subplots()
plt.suptitle('Deaths by Hour of Day ',
fontsize=16, ha='center')
plt.title('Fron Shipman dataset',
fontsize=14, loc='center')
plt.plot(hour, shipman, '-', c='b')
plt.plot(hour, comparison, '-.',
c='r')
plt.grid(True, linestyle=':')
plt.text(8, 12,'Shipman', c='b',
fontsize=14)
plt.text(2, 7, "Comparison
GP's", c='r', fontsize=14)
plt.xlabel('Hour of Day', fontsize=14)
plt.ylabel('% of Deaths', fontsize=14)
plt.show()
岡本安晴(2019) いまさら聞けないPythonでデータ分析.丸善出版
Spiegelhalter, D. (2019). The art of statistics: Learning from data. Pelican