J'exécute le code suivant dans PyCharm 3.4.1, et il a mis en évidence %matplotlib inline
montrant une erreur de syntaxe, et je supprime la première ligne et je lance, je m'attends à ce que cela m'invite à afficher des graphiques, mais il fonctionne normalement avec Process finished with exit code 0
, Et aucun graphique ne s'affiche.
Ma question est: 1. Qu'est-ce que %matplotlib inline
utiliser pour; 2. Comment laisser pycharm afficher le graphique 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()
Le %
la notation est pour fonctions magiques . La fonction magique et l'argument particuliers auxquels vous faites référence, %matplotlib inline
, est destiné à une session bloc-notes IPython . Vous obtiendrez une erreur de syntaxe en utilisant des fonctions magiques dans une session normale python.
Le %matplotlib
la fonction magique est destinée à spécifier un backend pour matplotlib et l'argument inline
produira une erreur si vous n'êtes pas dans une session de bloc-notes IPython.
Pour afficher votre tracé, vous devez utiliser plt.show
pour une fenêtre interactive ou plt.savefig
pour l'enregistrer dans un fichier. Par exemple,
plt.show()
ou
plt.savefig( 'myfig.png' )
l'intrigue avec une certaine valeur, a aidé à fournir la fenêtre où j'ai pu voir l'image. Par défaut, le mode interactif était faux. J'ai besoin d'activer le mode interactif. plt.interactive(True)
Ajoutez la commande plt.show après avoir tracé le graphique.
plt.show(10)
J'ai obtenu mon intrigue à afficher en sélectionnant Modifier les configurations ... et sous Exécution, cochez la case Exécuter avec Python. Je viens d'utiliser plt.tight_layout (). Je n'étais pas dans un ordinateur portable.