はじめに
Matplotlib は、Python における強力なデータ可視化ライブラリです。これは、意味のある方法でデータを可視化するためのさまざまなプロットやチャートを提供します。この実験では、Matplotlib のfig.add_axesを使用して、メインプロット軸内にインセット軸を作成する方法を学びます。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートする
必要なライブラリをインポートして始めます。これには、Matplotlib と NumPy が含まれます。
import matplotlib.pyplot as plt
import numpy as np
データを生成する
このステップでは、プロットに使用するデータを生成します。NumPy のconvolve関数を使ってガウス色ノイズを作成し、Matplotlib を使ってプロットします。
np.random.seed(19680801)
dt = 0.001
t = np.arange(0.0, 10.0, dt)
r = np.exp(-t[:1000] / 0.05)
x = np.random.randn(len(t))
s = np.convolve(x, r)[:len(x)] * dt
fig, main_ax = plt.subplots()
main_ax.plot(t, s)
範囲とラベルを設定する
このステップでは、メインプロット軸の範囲とラベルを設定します。
main_ax.set_xlim(0, 1)
main_ax.set_ylim(1.1 * np.min(s), 2 * np.max(s))
main_ax.set_xlabel('time (s)')
main_ax.set_ylabel('current (nA)')
main_ax.set_title('Gaussian colored noise')
インセット軸を作成する
このステップでは、fig.add_axesを使ってメインプロット軸内に 2 つのインセット軸を作成します。1 つはデータのヒストグラムを表示し、もう 1 つはインパルス応答を表示します。
## Create right inset axes
right_inset_ax = fig.add_axes([.65,.6,.2,.2], facecolor='k')
right_inset_ax.hist(s, 400, density=True)
right_inset_ax.set(title='Probability', xticks=[], yticks=[])
## Create left inset axes
left_inset_ax = fig.add_axes([.2,.6,.2,.2], facecolor='k')
left_inset_ax.plot(t[:len(r)], r)
left_inset_ax.set(title='Impulse response', xlim=(0,.2), xticks=[], yticks=[])
プロットを表示する
このステップでは、plt.show()関数を使ってプロットを表示します。
plt.show()
まとめ
この実験では、Matplotlib のfig.add_axesを使ってメインプロット軸内にインセット軸を作成する方法を学びました。データを生成し、範囲とラベルを設定し、2 つのインセット軸を作成し、プロットを表示しました。この技術は、プロットの特定の領域を拡大表示したり、データに関連する追加情報を表示したい場合に役立ちます。