Matplotlib における同時カーソル表示

Beginner

This tutorial is from open-source community. Access the source code

はじめに

このチュートリアルでは、複数のプロットに同時にカーソルを表示するために matplotlib.widgets.MultiCursor 関数をどのように使用するかを示します。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使って練習しましょう。

場合によっては、Jupyter Notebook が読み込み終了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。

学習中に問題がある場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。

ライブラリのインポート

最初のステップは、必要なライブラリである matplotlib.pyplotnumpy をインポートすることです。

import matplotlib.pyplot as plt
import numpy as np

データの作成

次に、プロット用のデータを作成します。この例では、異なる周波数の 3 つのサイン波を作成します。

t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2*np.pi*t)
s2 = np.sin(3*np.pi*t)
s3 = np.sin(4*np.pi*t)

プロットの作成

次に、plt.subplots 関数を使って 3 つのサブプロットを作成します。2 つのプロットは 1 つのグラフに作成し、3 つ目のプロットは別のグラフに作成します。

fig, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1.plot(t, s1)
ax2.plot(t, s2)
fig, ax3 = plt.subplots()
ax3.plot(t, s3)

マルチカーソルの追加

最後に、データポイントの上にマウスを置いたときに、すべての 3 つのプロットにカーソルを表示するために MultiCursor 関数を追加します。

multi = MultiCursor(None, (ax1, ax2, ax3), color='r', lw=1)
plt.show()

まとめ

このチュートリアルでは、matplotlib.widgets.MultiCursor 関数を使って複数のプロットに同時にカーソルを表示する方法を学びました。異なる周波数の 3 つのサイン波を作成し、3 つのサブプロットを作成し、すべての 3 つのプロットにカーソルを表示するために MultiCursor 関数を追加しました。