web-dev-qa-db-ja.com

MatplotlibチャートがPyCharmに表示されない

PyCharm 3.4.1で次のコードを実行し、%matplotlib inlineが構文エラーを示していることを強調し、最初の行を削除して実行すると、いくつかのチャートを要求しますが、Process finished with exit code 0で正常に実行され、チャートは表示されません。

私の質問は次のとおりです。1. %matplotlib inlineの使用目的2. pycharmにmatplotlibチャートを表示させる方法は?

%matplotlib inline
from IPython.core.pylabtools import figsize
import numpy as np
from matplotlib import pyplot as plt
figsize(11, 9)

import scipy.stats as stats

dist = stats.beta
n_trials = [0, 1, 2, 3, 4, 5, 8, 15, 50, 500]
data = stats.bernoulli.rvs(0.5, size=n_trials[-1])
x = np.linspace(0, 1, 100)

# For the already prepared, I'm using Binomial's conj. prior.
for k, N in enumerate(n_trials):
    sx = plt.subplot(len(n_trials) / 2, 2, k + 1)
    plt.xlabel("$p$, probability of heads") \
        if k in [0, len(n_trials) - 1] else None
    plt.setp(sx.get_yticklabels(), visible=False)
    heads = data[:N].sum()
    y = dist.pdf(x, 1 + heads, 1 + N - heads)
    plt.plot(x, y, label="observe %d tosses,\n %d heads" % (N, heads))
    plt.fill_between(x, 0, y, color="#348ABD", alpha=0.4)
    plt.vlines(0.5, 0, 4, color="k", linestyles="--", lw=1)

    leg = plt.legend()
    leg.get_frame().set_alpha(0.4)
    plt.autoscale(tight=True)


plt.suptitle("Bayesian updating of posterior probabilities",
             y=1.02,
             fontsize=14)

plt.tight_layout()
23
william007

%表記は magic functions を表します。参照する特定のマジック関数と引数%matplotlib inlineは、 IPythonノートブック セッション用です。通常のpythonセッションでマジック関数を使用すると、構文エラーが発生します。

%matplotlibマジック関数は、matplotlibのバックエンドを指定するためのもので、引数inlineは、IPythonノートブックセッションを使用していない場合にエラーを生成します。

プロットを表示するには、対話型ウィンドウの場合はplt.showを使用するか、ファイルに保存する場合はplt.savefigを使用する必要があります。例えば、

plt.show()

または

plt.savefig( 'myfig.png' )
38
Gabriel

いくつかの値を持つプロットショーは、画像を見ることができるウィンドウを提供するのに役立ちました。デフォルトでは、インタラクティブモードはfalseでした。インタラクティブモードをオンにする必要がありました。 plt.interactive(True)

グラフをプロットした後、plt.showコマンドを追加します。

plt.show(10)
4
vinSan

[設定の編集...]を選択してプロットを表示し、[実行]で[Python console。plt.tight_layout()を使用しました。ノートブックにはいませんでした。

0
Jerald Cogswell