1

注: ここで説明されている問題は、OS X (Lion) でのみ見られました。

Matplotlib は、データ視覚化のための Python ライブラリです。画面にグラフを表示しようとすると、グラフを表示しているウィンドウが他のウィンドウの背後に頑固に隠れたままになります。表示する唯一の方法は、他のすべてのウィンドウを非表示にするか、最小化するか、邪魔にならないように移動することです。これにより、matplotlib を使用したインタラクティブな作業が不必要に面倒になります。

FWIW、これらの結果を生成する 1 つの方法を以下に示します。示されているすべての手順 (ipython の呼び出しを含む) は、matplotlib チュートリアルから取得されます。

% ipython --pylab
...
In [1]: import matplotlib.pyplot as plt

In [2]: plt.plot([1, 3, 2, 4])
Out[3]: [<matplotlib.lines.Line2D at 0x106aabd90>]

この時点で、それを非表示にする他のウィンドウがない場合 (これは通常ではありません)、グラフを含むウィンドウが表示されますが、フォーカスが得られません。1 回クリックした後でも、フォーカスのないウィンドウのように見えます (たとえば、左上隅の 3 つのボタンは、通常の赤-黄-緑ではなく、薄い灰色のままです)。

また、FWIW、システム提供のpythonを使用するインストール、によってインストールされたpythonを使用するインストールを含む、python + numpy + matplotlib + ipythonの複数のインストールスタイル(同じマシン上)でまったく同じ動作homebrewを観察しました。または、ソースから直接ホームディレクトリから離れた場所にインストールされたpythonを使用するもの。

問題が発生した場合に備えて、Lion に付属しているバグのある Tcl および Tk フレームワークの代わりに ActiveTcl をインストールしました。

(対照的に、Ubuntu で上記を実行すると、Figure ウィンドウが表示され、フォーカスがあり、他のすべてのウィンドウの上に表示されます。)

何が起こっているのか、またはそれについて何ができるかについてのアイデアはありますか?

注: 私は Enthought の EPD を認識していますが、これはオプションではありません。

4

1 に答える 1

1

残念ながら、これは OS X で Aqua Tk を使用する Tkinter ベースのアプリケーションの一般的な問題です。議論、アプリがそれを回避するためにできること、および提案された一般的な解決策については、こちらを参照してください。

于 2013-04-01T21:23:38.667 に答える