Matplotlib图表未在PyCharm中显示

uoifb46i  于 2023-03-18  发布在  PyCharm
关注(0)|答案(6)|浏览(179)

我在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()
ruyhziif

ruyhziif1#

%表示法是用于magic函数的。您引用的特定magic函数和参数%matplotlib inline是用于IPython notebook会话的。在普通python会话中使用magic函数会出现语法错误。
%matplotlib magic函数用于指定matplotlib的后端,如果您不在IPython notebook会话中,参数inline将产生错误。
要显示您的绘图,您应该使用plt.show作为交互式窗口,或使用plt.savefig将其保存到文件。例如,

plt.show()

plt.savefig( 'myfig.png' )
wd2eg0qa

wd2eg0qa2#

带有一些值的plot show,帮助提供了一个窗口,在那里我可以看到图像。默认情况下,交互模式为false。我需要打开交互模式。plt.interactive(True)
绘制plt.show图形后添加www.example.com命令。

plt.show(10)
2w3rbyxf

2w3rbyxf3#

plt.show()只为我显示静态PNG格式的绘图。我不得不使用'mpl.use('Qt5Agg')'根据这篇文章https://www.tutorialspoint.com/how-to-get-an-interactive-plot-of-a-pyplot-when-using-pycharm

xuo3flqw

xuo3flqw4#

如果使用的是Pycharm之类的IDE,请使用%matplotlib inline。尝试使用:

import matplotlib.pyplot as plt
plt.show()
kgqe7b3p

kgqe7b3p5#

我通过选择Edit Configurations...并在Execution下选中Run with Python console复选框来显示我的绘图。我只是使用了plt.tight_layout()。我没有在Notebook中。

cwdobuhd

cwdobuhd6#

%matplotlib指定matplotlib的后端,使用内联参数可以显示图形并使绘图具有交互性。
%在Pycharm中用于表示python中的魔术函数,即%matplotlib inline-成为魔术函数。
在Pycharm中,您可以直接使用

plt.show()

相关问题