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

PythonPythonBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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

VMのヒント

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/booleans("Booleans") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48837{{"Matplotlib における同時カーソル表示"}} matplotlib/figures_axes -.-> lab-48837{{"Matplotlib における同時カーソル表示"}} python/booleans -.-> lab-48837{{"Matplotlib における同時カーソル表示"}} matplotlib/line_plots -.-> lab-48837{{"Matplotlib における同時カーソル表示"}} python/tuples -.-> lab-48837{{"Matplotlib における同時カーソル表示"}} python/importing_modules -.-> lab-48837{{"Matplotlib における同時カーソル表示"}} python/numerical_computing -.-> lab-48837{{"Matplotlib における同時カーソル表示"}} python/data_visualization -.-> lab-48837{{"Matplotlib における同時カーソル表示"}} end

ライブラリのインポート

最初のステップは、必要なライブラリである 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 関数を追加しました。