web-dev-qa-db-ja.com

%matplotlibインラインはiPythonおよびJupyterコンソールでは機能しません

Jupyterコンソールを初めて試用していますが、%matplotlib inlineマジックが機能しません。以下は、サンプルセッションのスクリーンショットです。

The window is a result of Line 6, and Line 7 didn't do anything at all. Line 6を実行した後、プロットは別のウィンドウに表示され、Line 7は何もしません。

%matplotlib --listを実行すると、inlineがオプションの1つとして指定されます。

Available matplotlib backends: ['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt',
'nbagg', 'agg', 'gtk', 'tk', 'ipympl', 'inline']

別のバックエンド、たとえばqt5を使用しようとすると、Qtがインストールされていないため、エラーメッセージが表示されます。

ImportError: Matplotlib qt-based backends require an external PyQt4, PyQt5, or PySide
package to be installed, but it was not found.

%matplotlib??の読み取り:

 If you are using the inline matplotlib backend in the IPython Notebook
        you can set which figure formats are enabled using the following::

            In [1]: from IPython.display import set_matplotlib_formats

            In [2]: set_matplotlib_formats('pdf', 'svg')

        The default for inline figures sets `bbox_inches` to 'tight'. This can
        cause discrepancies between the displayed image and the identical
        image created using `savefig`. This behavior can be disabled using the
        `%config` magic::

            In [3]: %config InlineBackend.print_figure_kwargs = {'bbox_inches':None}

しかし、それが問題を解決するために微調整できるかどうかはわかりません。

魔法のIPythonコンソールを試してみると、inlineUnknown Backendであると表示されます。

UnknownBackend: No event loop integration for u'inline'. Supported event loops are: qt, 
qt4, qt5, gtk, gtk2, gtk3, tk, wx, pyglet, glut, osx

私は githubでのこの問題 をいくつかのグーグルで見つけましたが、それが私の状況に関連するかどうかさえ知りません(彼らの会話のほとんどは私には意味がありませんlol)。

最後に、この問題がまったく関連しているかどうかはわかりませんが、念のため、!vimコマンドを使用してJupyterでVimを開こうとすると、グリッチがひどくなり、ターミナルを完全に閉じずにJupyter自体を終了します。ただし、VimはIPythonコンソール内で呼び出された場合は完全に正常に動作します。

matplotlib 2.0.0を使用しています。

誰かが私がこれを理解するのを助けることができれば、それは素晴らしいことです!ありがとうございました!

9
spicypumpkin

完全にテキストベースであり、画像を表示できないコンソールを実行しています。したがって、inlineは使用可能ですが、インライン出力は生成されません。

ただし、エラーがスローされない理由はわかりませんが、私の場合はエラーになります。

enter image description here

Jupyter QTConsoleのようなGUIコンソールで%matplotlib inlineを使用できます

enter image description here

またはブラウザのjupyterノートブックで

enter image description here

古いバージョンのipythonを実行している場合は、%pylab inline代わりに。 このチュートリアルの注 を参照してください

0
KolaB

%matplotlibinlineなしで動作します(osxとIPython 7.0.1を使用しています)

0
Peter Evan Deal