キー入力イベントへの接続

MatplotlibMatplotlibBeginner
今すぐ練習

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

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

はじめに

この実験では、Matplotlib のキー入力イベントに接続する方法を学びます。これにより、キーが押されたときに特定のアクションを実行できます。グラフを作成し、「x」キーが押されたときに x 軸のラベルの表示を切り替えるキー入力イベントリスナーを設定します。

VM のヒント

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

Jupyter Notebook の読み込みには数秒かかる場合があります。Jupyter Notebook の制限により、操作の検証を自動化できません。

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

ライブラリのインポート

必要なライブラリをインポートして始めます。matplotlib.pyplotnumpy です。

import matplotlib.pyplot as plt
import numpy as np

キー入力イベント関数の定義

次に、キーが押されたときに呼び出される on_press 関数を定義します。この関数は、押されたキーに関する情報を含む event パラメータを受け取ります。この例では、「x」キーが押されたときに x 軸のラベルの表示を切り替えます。

def on_press(event):
    print('press', event.key)
    sys.stdout.flush()
    if event.key == 'x':
        visible = xl.get_visible()
        xl.set_visible(not visible)
        fig.canvas.draw()

グラフを作成してキー入力イベントリスナーを接続する

np.random.rand() を使ってランダムなデータを生成し、簡単なグラフを作成します。そして、fig.canvas.mpl_connect() を使ってキー入力イベントリスナーを設定し、リッスンするイベントの名前 ('key_press_event') とイベントが発生したときに呼び出す関数 (on_press) を渡します。

fig, ax = plt.subplots()

fig.canvas.mpl_connect('key_press_event', on_press)

ax.plot(np.random.rand(12), np.random.rand(12), 'go')
xl = ax.set_xlabel('easy come, easy go')
ax.set_title('Press a key')
plt.show()

コードを実行する

コードをファイルに保存し、Python 環境で実行します。x 軸のラベルが「easy come, easy go」と表示されたグラフが表示されます。「x」キーを押すと、x 軸のラベルが表示と非表示の間で切り替わります。

まとめ

この実験では、Matplotlib でキー入力イベントに接続する方法を学びました。グラフを作成し、「x」キーが押されたときに x 軸のラベルの表示を切り替えるキー入力イベントリスナーを設定しました。これは、Matplotlib のキー入力イベントを使って行えることの一例にすぎません。