はじめに
このチュートリアルでは、Python の Matplotlib を使って、マーカーの色とサイズを変えた散布図を作成する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終わるまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証は自動化できません。
学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
必要なライブラリである Matplotlib と Numpy をインポートして始めましょう。
import matplotlib.pyplot as plt
import numpy as np
データを読み込む
yahoo csv データから、mpl-data/sample_data ディレクトリにある date、open、high、low、close、volume、adj_close のフィールドを持つ numpy レコード配列を読み込みます。レコード配列は、日付列に日単位 ('D') の np.datetime64 として日付を格納します。
import matplotlib.cbook as cbook
price_data = cbook.get_sample_data('goog.npz')['price_data'].view(np.recarray)
price_data = price_data[-250:] ## get the most recent 250 trading days
散布図用の値を計算する
散布図用に delta1、volume、および close の値を計算します。
delta1 = np.diff(price_data.adj_close) / price_data.adj_close[:-1]
## Marker size in units of points^2
volume = (15 * price_data.volume[:-2] / price_data.volume[0])**2
close = 0.003 * price_data.close[:-2] / 0.003 * price_data.open[:-2]
散布図を作成する
計算した値を使って、マーカーの色とサイズを変えた散布図を作成します。
fig, ax = plt.subplots()
ax.scatter(delta1[:-1], delta1[1:], c=close, s=volume, alpha=0.5)
ax.set_xlabel(r'$\Delta_i$', fontsize=15)
ax.set_ylabel(r'$\Delta_{i+1}$', fontsize=15)
ax.set_title('Volume and percent change')
ax.grid(True)
fig.tight_layout()
plt.show()
まとめ
Python の Matplotlib を使って、マーカーの色とサイズを変えた散布図を作成する方法を学びました。必要なライブラリをインポートしてから、データを読み込み、散布図用の値を計算し、散布図を作成するまでの手順を踏みました。