繁体   English   中英

Matplotlib 图表在 PyCharm 中不显示

[英]Matplotlib chart does not display in 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()

%符号用于魔术函数 您引用的特定魔术函数和参数%matplotlib inline用于IPython 笔记本会话。 在正常的 Python 会话中使用魔法函数会出现语法错误。

%matplotlib魔术函数旨在为 matplotlib 指定后端,如果您不在 IPython 笔记本会话中,则inline参数将产生错误。

要显示您的绘图,您应该将plt.show用于交互式窗口或plt.savefig将其保存到文件。 例如,

plt.show()

或者

plt.savefig( 'myfig.png' )

绘图显示具有一些价值,有助于提供我能够看到图像的窗口。 默认情况下,交互模式为 false。 我需要打开交互模式。 plt.interactive(True)

绘制图形后添加 plt.show 命令。

plt.show(10)

如果使用诸如 Pycharm 之类的 IDE,而不是使用 '%matplotlib inline'。 尝试使用: (1) 'import matplotlib.pyplot as plt' (2) plt.imshow(argurment(s))

我通过选择 Edit Configurations... 并在 Execution 下选中 Run with Python console 框来显示我的图。 我只是使用了 plt.tight_layout()。 我不在笔记本中。

%matplotlib 指定 matplotlib 的后端,使用 inline 参数,您可以显示图形并使绘图具有交互性。

% 用于在 Pycharm 中表示 Python 中的魔术函数,即 %matplotlib inline- 成为魔术函数。

在 Pycharm 中你可以直接使用

plt.show()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM