▲簡単なデータの可視化

第3回までに学んだ各種のデータに対する簡単な可視化について触れます。

参考

matplotlib については、5-matplotlib に詳しい説明があります。

matplotlib

Pythonでは可視化のための様々な仕組みが用意されています。 ここでは最も広く利用され、ノートブック上で容易に動作を確認できる matplotlib について触れます。 matplotlib を利用するには第5回で取り上げるモジュールについても知る必要がありますが、 第2回と第3回でデータについてだけ学ぶのでは、みなさんのモチベーションの維持が難しいと思われますので、 この段階でリスト・辞書だけで2次元グラフを表示させてみます。 したがって、ここではモジュールの使い方については説明しません。

matplotlib の出力をノートブックで表示させるには、以下をCodeセルで1回だけ実行します。 %matplotlib のように % で始まる文をマジックコマンドと呼びます。

[1]:
%matplotlib inline

さらに matplotlib モジュールを読み込む次の処理もプログラムの冒頭で行う必要があります。

import matplotlib.pyplot as plt

折れ線グラフ

ls1 = [1, 4, 9, 16] といった数を要素とするリストを折れ線グラフで表示するには、次のように行います。

[2]:
import matplotlib.pyplot as plt
ls1 = [1, 4, 9, 16]
plt.plot(ls1)
plt.show()
../_images/appendix_3-visualization_6_0.png

折れ線グラフを複数表示させるには、plt.plot を繰り返します。

[3]:
import matplotlib.pyplot as plt
ls1 = [1, 4, 9, 16]
ls2 = [8, 7, 6, 5]
plt.plot(ls1, label='1st plot')
plt.plot(ls2, label='2nd plot')
plt.show()
../_images/appendix_3-visualization_8_0.png

散布図

散布図を表示させるには、plt.scatter にそれぞれの点に対応する水平、垂直座標をリストで与えます。 この2つのリストの要素数は同じでなければなりません。

[4]:
import matplotlib.pyplot as plt
x = [5, 10, 15, 10]
y = [10, 5, 10, 15]
plt.scatter(x,y)
[4]:
<matplotlib.collections.PathCollection at 0x7fcff6051820>
../_images/appendix_3-visualization_10_1.png

棒グラフ

棒グラフを表示させるには、plt.bar に水平座標、高さをリストで与えます。 この2つのリストの要素数は同じでなければなりません。 以下の例では、等間隔でグラフを表示させるため水平軸に整数列を使っています。

[5]:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 30, 40, 15]
plt.bar(x,y)
[5]:
<BarContainer object of 4 artists>
../_images/appendix_3-visualization_12_1.png

第2回と第3回では文字列、辞書について学びました。 文字列をキー、整数を値とする辞書を棒グラフで可視化します。 さらに、水平軸にはキーをラベルとして表示されます。

[6]:
import matplotlib.pyplot as plt
d = {'apple':10, 'banana':30, 'orange': 40, 'kiwi': 15}
x = [1,2,3,4]
plt.bar(x, d.values(), tick_label=list(d.keys()))
[6]:
<BarContainer object of 4 artists>
../_images/appendix_3-visualization_14_1.png
[ ]: