Doel van “%matplotlib inline”

Wat is precies het gebruik van %matplotlib inline?


Antwoord 1, autoriteit 100%

%matplotlib is een magische functie in IPython. Ik citeer hier de relevante documentatie die u voor het gemak kunt lezen:

IPython heeft een reeks vooraf gedefinieerde ‘magische functies’ die u kunt aanroepen met een syntaxis in de stijl van een opdrachtregel. Er zijn twee soorten magie, lijngericht en celgericht. Lijnmagie wordt voorafgegaan door het %-teken en werkt net als OS-opdrachtregelaanroepen: ze krijgen als argument de rest van de regel, waar argumenten worden doorgegeven zonder haakjes of aanhalingstekens. Lijnmagie kan resultaten opleveren en kan aan de rechterkant van een opdracht worden gebruikt. Celmagie wordt voorafgegaan door een dubbele %%, en het zijn functies die niet alleen de rest van de regel, maar ook de regels eronder als argument in een apart argument krijgen.

%matplotlib inline zet de backend van matplotlib op de ‘inline’-backend:

Met deze backend wordt de uitvoer van plotcommando’s inline weergegeven in frontends zoals de Jupyter-notebook, direct onder de codecel die deze heeft geproduceerd. De resulterende plots worden dan ook opgeslagen in het notebookdocument.

Als u de ‘inline’-backend gebruikt, worden uw matplotlib-grafieken naast de code in uw notebook opgenomen. Het is misschien de moeite waard om ook Hoe IPython notebook matplotlib plot te maken, te lezen inline voor referentie over hoe je het in je code kunt gebruiken.

Als u ook interactiviteit wilt, kunt u de nbagg-backend met %matplotlib notebook (in IPython 3.x), zoals beschreven hier.


Antwoord 2, autoriteit 25%

Op voorwaarde dat je IPython gebruikt, zal de %matplotlib inline je plot-outputs laten verschijnen en opslaan in de notebook.

Volgens documentatie

Om dit in te stellen, vóór het plotten of importeren van matplotlib is
uitgevoerd, moet u het %matplotlib magic command uitvoeren. Deze
voert de nodige setup achter de schermen uit om IPython te laten werken
correct hand in hand met matplotlib; het doet er echter niet toe
voer eigenlijk alle Python-importopdrachten uit, dat wil zeggen, er zijn geen namen
toegevoegd aan de naamruimte.

Een bijzonder interessante backend, geleverd door IPython, is de
inline-backend. Dit is alleen beschikbaar voor de Jupyter Notebook en
de Jupyter QtConsole. Het kan als volgt worden aangeroepen:

%matplotlib inline

Met deze backend wordt de uitvoer van plotcommando’s inline weergegeven
binnen frontends zoals de Jupyter-notebook, direct onder de code
cel die het heeft geproduceerd. De resulterende plots worden dan ook opgeslagen in
het notebookdocument.


Antwoord 3, autoriteit 14%

Om het duidelijk uit te leggen:

Als je het zo niet leuk vindt:

voer hier de afbeeldingsbeschrijving in

voeg %matplotlib inline

voer hier de afbeeldingsbeschrijving in

en daar heb je het in je jupyter-notebook.


Antwoord 4, autoriteit 11%

Als u plots aan uw Jupyter-notebook wilt toevoegen, dan is %matplotlib inline een standaardoplossing. En er zijn andere magische commando’s die matplotlib interactief gebruiken binnen Jupyter.

%matplotlib: elk plt plotcommando zal nu een figuurvenster openen en verdere commando’s kunnen worden uitgevoerd om de plot bij te werken. Sommige wijzigingen worden niet automatisch getekend. Om een ​​update te forceren, gebruikt u plt.draw()

%matplotlib notebook: leidt tot interactieve plots die zijn ingesloten in de notebook, u kunt zoomen en het formaat wijzigen

%matplotlib inline: teken alleen statische afbeeldingen in de notebook


Antwoord 5, autoriteit 3%

Vanaf IPython 5.0 en matplotlib 2.0 kunt u het gebruik van . vermijden
Specifieke magie en gebruik van IPython
matplotlib.pyplot.ion()/matplotlib.pyplot.ioff() die de
voordelen om ook buiten IPython te werken.

ipython-documenten


Antwoord 6, autoriteit 3%

Het betekent alleen dat elke grafiek die we maken als onderdeel van onze code in hetzelfde notitieblok zal verschijnen en niet in een apart venster, wat zou gebeuren als we deze magische verklaring niet hadden gebruikt.


Antwoord 7, autoriteit 2%

TL;DR

%matplotlib inline – Geeft output inline weer


IPython-kernel heeft de mogelijkheid om plots weer te geven door code uit te voeren. De IPython-kernel is ontworpen om naadloos samen te werken met de matplotlib-plotbibliotheek om deze functionaliteit te bieden.

%matplotlib is een magisch commando dat de noodzakelijke setup achter de schermen uitvoert zodat IPython correct kan werken hand in hand met matplotlib;
het voert geen Python-importcommando’s uit, dat wil zeggen dat er geen namen aan de naamruimte worden toegevoegd.

Uitvoer weergeven in apart venster

%matplotlib

Uitvoer inline weergeven

(alleen beschikbaar voor de Jupyter Notebook en de Jupyter QtConsole)

%matplotlib inline

Display met interactieve backends

(geldige waarden 'GTK3Agg', 'GTK3Cairo', 'MacOSX', 'nbAgg', 'Qt4Agg', 'Qt4Cairo', 'Qt5Agg', 'Qt5Cairo', 'TkAgg', 'TkCairo', 'WebAgg', 'WX', 'WXAgg', 'WXCairo', 'agg', 'cairo', 'pdf', 'pgf', 'ps', 'svg', 'template')

%matplotlib gtk

Voorbeeld – GTK3Agg – Een Agg-rendering naar een GTK 3.x-canvas (vereist PyGObject en pycairo of cairocffi).

Meer details over de interactieve backends van matplotlib: hier


Vanaf IPython 5.0 en matplotlib 2.0 kunt u het gebruik van
IPython’s specifieke magie en gebruik matplotlib.pyplot.ion()/matplotlib.pyplot.ioff()
die de voordelen hebben om ook buiten IPython te werken.

Raadpleeg: IPython Rich Output – Interactieve plotten


Antwoord 8, autoriteit 2%

Als je niet weet wat backend is, kun je dit lezen:
https://matplotlib.org/tutorials/introductory/usage.html#backends

Sommige mensen gebruiken matplotlib interactief vanuit de python-shell en
laten plotvensters verschijnen wanneer ze commando’s typen. Sommige mensen rennen
Jupyter-notebooks en teken inline plots voor snelle gegevensanalyse.
Anderen integreren matplotlib in grafische gebruikersinterfaces zoals wxpython
of pygtk om rijke applicaties te bouwen. Sommige mensen gebruiken matplotlib in
batchscripts om postscript-afbeeldingen te genereren van numerieke
simulaties, en weer anderen draaien webtoepassingsservers om
dynamisch grafieken serveren. Om al deze use-cases te ondersteunen,
matplotlib kan verschillende outputs targeten, en elk van deze
mogelijkheden wordt een backend genoemd; de “frontend” is de gebruiker gericht
code, d.w.z. de plotcode, terwijl de “backend” al het harde doet
werk achter de schermen om de figuur te maken.

Dus als je %matplotlib inline typt, wordt de inline-backend geactiveerd. Zoals besproken in de vorige berichten:

Met deze backend wordt de uitvoer van plotcommando’s inline weergegeven
binnen frontends zoals de Jupyter-notebook, direct onder de code
cel die het heeft geproduceerd. De resulterende plots worden dan ook opgeslagen in
het notebookdocument.


Antwoord 9

Op voorwaarde dat u Jupyter Notebook gebruikt, zal het %matplotlib inline-commando ervoor zorgen dat uw plotuitvoer in de notebook verschijnt en ook kan worden opgeslagen.


Antwoord 10

Het is niet verplicht om dat te schrijven. Het werkte prima voor mij zonder (%matplotlib) magische functie.
Ik gebruik de Sypder-compiler, een die bij Anaconda wordt geleverd.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

two × 1 =

Other episodes