Python 無料で独習 Pythonでデータ可視化(Matplotlib)を勉強するならまずこの動画 07

Python
この記事は約4分で読めます。

Matplotlib20本ノック

13,複数グラフの表示

以下のデータに対し、異なる形状のグラフを横並びに3つ表示してください。

names=['Sam','John','Kevin','Adam']
values=[60,170,10,20]
・棒グラフ(plt.bar())
・散布図(plt.scatter())
・折れ線グラフ(plt.plot())
ただし、3つのグラフを表示する全体のグラフサイズは横9インチ、縦3インチとしてください。


まずは横9インチ、縦3インチのグラフを表示する図の大きさを
指定する必要があるそうです。

plt.figure()   グラフを表示する枠組みを決定

names=['Sam','John','Kevin','Adam']
values=[60,170,10,120]

plt.figure(figsize=(9,3))

plt.subplot(131)
plt.bar(names,values)
plt.subplot(132)
plt.scatter(names,values)
plt.subplot(133)
plt.plot(names,values)


plt.subplot(131)の意味ですが
131の13は1行3列の意味で、最後の1は一番目です。

14,ヒートマップ

以下のコードで用意した10 × 10 のデータに対して
最小値0が白色で最大値1が青色となるカラーマップBluesを使って
ヒートマップを作成してください。
data=np.random.rand(10,10)

data=np.random.rand(10,10)
data
array([[0.36445996, 0.07872471, 0.37152357, 0.04891012, 0.37717996,
        0.7468801 , 0.49554761, 0.89235962, 0.49936066, 0.70271799],
       [0.0532563 , 0.71862648, 0.62478879, 0.75498499, 0.67071789,
        0.02753502, 0.3949435 , 0.67698048, 0.06899804, 0.0855762 ],
       [0.2115695 , 0.21786642, 0.78853988, 0.44760297, 0.19528454,
        0.3156583 , 0.49335901, 0.2222361 , 0.53219833, 0.69245459],
       [0.42722797, 0.72907774, 0.70643909, 0.18445922, 0.83048629,
        0.96490026, 0.84366879, 0.86714216, 0.64914125, 0.40172775],
       [0.79915451, 0.55119344, 0.47062763, 0.60709043, 0.4361778 ,
        0.07836874, 0.51816484, 0.49237753, 0.96328985, 0.25732261],
       [0.63749496, 0.20017986, 0.78354947, 0.88594056, 0.5254102 ,
        0.30960404, 0.02232928, 0.58002472, 0.90792572, 0.52366066],
       [0.49779987, 0.22333666, 0.33288025, 0.06827602, 0.89453813,
        0.11075652, 0.32263839, 0.35555395, 0.69518812, 0.02255687],
       [0.47217786, 0.92236244, 0.51208875, 0.3688267 , 0.47601072,
        0.26821443, 0.04938974, 0.90192806, 0.03594915, 0.03002562],
       [0.14409668, 0.43990488, 0.82349041, 0.70623955, 0.82246737,
        0.39244799, 0.65292469, 0.24063912, 0.38976014, 0.31015533],
       [0.32610993, 0.62292059, 0.67548213, 0.93931166, 0.74939384,
        0.22947013, 0.61671364, 0.91521389, 0.34617013, 0.03967533]])

問題のdataはshapeで(10,10)となっています。
ヒートマっプの作成は plt.imshow()
で作成が可能です。

plt.imshow(data, vmin=0, vmax=1, cmap='Blues')
plt.colorbar()


10行、10列の0~1までの数字でヒートマップが表示されています。
plt.colorbar()を追加することによって、色の濃淡と数値を表す
barを追加する事がでいます。
実際のデータと見比べても1に近い数値の部分がちゃんと濃くなっています。

コメント

タイトルとURLをコピーしました