python SyntaxError: ongeldige syntax% matplotlib inline

Ik heb deze fout in mijn Python-script:

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from utils import progress_bar_downloader
import os
#Hosting files on my dropbox since downloading from google code is painful
#Original project hosting is here: https://code.google.com/p/hmm-speech-recognition/downloads/list
#Audio is included in the zip file
link = 'https://dl.dropboxusercontent.com/u/15378192/audio.tar.gz'
dlname = 'audio.tar.gz'
if not os.path.exists('./%s' % dlname):
    progress_bar_downloader(link, dlname)
    os.system('tar xzf %s' % dlname)
else:
    print('%s already downloaded!' % dlname)

Ik wil gebruik matplotlib maar het geeft syntax error,
Ik probeerde sudo apt-get install python-matplotlib


Antwoord 1, Autoriteit 100%

Als u geen gebruik maakt Jupyter ipython notebook, gewoon commentaar uit (of verwijderen) van de lijn, zal alles goed werken en een aparte plot venster wordt geopend als u met uw python script van de console.

Echter, als u gebruik maakt van Jupyter ipython notebook, de allereerste python code cel in je notebook moet de lijn hebben “% matplotlib inline” voor u om te kunnen elke plot te bekijken.


Antwoord 2, Autoriteit 33%

“% matplotlib inline” is niet geldig python code, zodat je het niet kunt zetten in een script.

Ik neem aan dat u gebruik maakt van een Jupyter notebook? Als dat zo is, zet het in de eerste cel en al zou moeten werken.


Antwoord 3, Autoriteit 6%

“%matplotlib inline” is een magische opdracht die het beste werkt met Jupyter IPython-notebook. Met deze opdracht wordt de afbeelding automatisch inline in de browser weergegeven bij gebruik van Jupyter-notebook zonder dat de show() hoeft te worden aangeroepen. IPython is de kern die deze magische commando’s ondersteunt, maar in dit geval is het niet voldoende om IPython vanaf de console alleen te gebruiken, aangezien deze specifieke oproep grafische afbeeldingen inline probeert weer te geven. Ik weet niet zeker of het werkt met een andere combo, maar gebruik om te beginnen Jupyter-notebook.

Je kunt deze code alleen in de cel gebruiken. Druk op Shift+Enter om het uit te voeren.

In []: %matplotlib inline

Aangezien dit geen geldige python-code is, zal het, als we het in een python-script opnemen, terugkeren met een syntaxisfout (zelfs wanneer het script wordt uitgevoerd vanuit Jupyter-notebook met behulp van import of een ander mechanisme).

Als elke andere snelkoppeling, als u geen jupyter-notebook wilt gebruiken, kunt u “%matplotlib inline” uit uw python-script verwijderen en show() aan het einde toevoegen om uw plots weer te geven.


Antwoord 4

Ik had dezelfde syntaxisfout bij het gebruik van %matplotlibinline in Spyder.
Nadat ik het heb vervangen door de volgende regels code, wordt de serie, new_obj, die ik wilde plotten met succes weergegeven op de console:

   import matplotlib.pyplot as plt
    new_obj.resample('M').sum().plot(kind="bar")
    plt.show()

Antwoord 5

%matplotlib inline werkt alleen goed in de Ipython-console of anders werkt het zeer significant en vaak in de Jupyter Notebook.
Dus, in mijn suggestie als je met de Matplotlib wilt werken, ga dan voor de Jupyter Notebook


Antwoord 6

Reageer [ %matplotlib inline ]

Voeg [ plt.show() ] toe

Eenvoudige code die werkt:

import pandas_datareader.data as web
import datetime
import matplotlib.pyplot as plt
# %matplotlib inline
start = datetime.datetime(2012,1,1)
end = datetime.datetime(2017,1,1)
tesla = web.DataReader('TSLA','yahoo',start,end)
tesla['Open'].plot()
plt.show()

Other episodes