4
import matplotlib
import matplotlib.pyplot as plt
print matplotlib.__version__
print plt.get_backend()

def key_event(e):
  print e.key

fig = plt.figure()
fig.canvas.mpl_connect('key_press_event', key_event)
plt.show()

matplotlib/pyplot の修飾子 (Ctrl、Alt、Shift など) を使用したキー プレス イベント ハンドラーに興味があります。 ドキュメントのこの部分では、修飾子のサポートについて言及しています。しかし、上記のコードを使用すると、その動作は見られません。

これらのキーのプレス/リリースイベントに関する状態を維持して、修飾子を手動で処理する必要は避けたいと思います。たとえば、コントロールのアップ/ダウンに関する状態を維持する必要なく、簡単にactrl+を区別できるようにしたいと考えています。a

-修飾子が機能する高レベルのインターフェースがどこかに欠けていますか?
-または、私が一般的に TkAgg を使用している場合、ドキュメントのその部分は GTKAgg バックエンドにのみ適用されるのでしょうか?
-たぶん、修飾子のサポートはおそらく最近追加されたもので、私のmatplotlibバージョン1.1.1rcにはありませんか?

4

1 に答える 1

4

上記の mmgp のコメントを見て、リポジトリのバージョンgit clone git://github.com/matplotlib/matplotlib.gitなどに更新しようとしたところ、1.3.x になりました。Ubuntu 12.10 のバージョンは 1.1.1rc に戻りました。

この問題は新しいバージョンで解決されているため、修飾子のサポートが最近追加されたという単純なケースのようです。

于 2013-01-16T13:09:22.553 に答える