Matplotlib Retina

Matplotlib Retina
Matplotlib er en flott ressurs for Python-basert plotting. Imidlertid, hvis vi må generere plott i linje i en Spyder -applikasjon, har vi absolutt observert at standardoppløsningen til plottbildet er ganske lav, noe som får grafene våre til å se uskarpe og vanskelige å lese. Dette kan være vanskelig, spesielt hvis du skal vise plottet eller konvertere det til noe annet format.

Denne artikkelen vil vise deg hvordan du endrer standardinnstillingene for å forbedre oppløsningen av matplotlib -tomter for både inline og eksportert. Vi må importere kommandoen til netthinnen i koden som vil forbedre visningen av plottet som i netthinnekvalitet. Tallene vil virke bedre på enhver visning med retinaoppløsning; Men hvis oppløsningen av skjermen er underutvikling, vil forbedringen være mindre åpenbar.

Retina viser med inline backend i Python

Standardvisualene virker noen ganger uskarpe på skjermbilder med høyere oppløsning som Retina-skjermene, men vi kan se plottresultater med høy oppløsning hvis vi har den nyeste MacBook med en netthinnedisplay.

Alt vi trenger å gjøre nå er å legge til følgende kommando i koden vår. Merk at vi må lagre filen vår i ".ipy ”utvidelse hvis vi bruker matplotlib.Pyplot -grensesnitt.

# %Config InlineBackend.figur_format = 'netthinne'

Eksempel 1:

Vi har et eksempel her for å vise hvordan vi kan vise Matplotlib-grafen ved å bruke et netthinnehøyoppløselig format. Først har vi importert en kommando “%matplotlib inline” som vil hjelpe oss å sende ut plotting -kommandoene som skal presenteres inline i frontendene etter å ha aktivert 'inline' matplotlib backend.

Det betyr at plottet vil vises under cellen der vi har gitt kommandoene, og utgangsplottet også vil bli inkludert i Python Notebook -dokumentet. Deretter har vi det numpy biblioteket som "NP" alias og matplotlib.Pyplot som “PLT”. Etter å ha importert de viktige bibliotekene, har vi gitt en Retina -kommando som vil forbedre oppløsningen av grafen. Størrelsen på figuren er også gitt her som vil vise figuren i større størrelse.

Variabelen er definert som "jeg" og setter en numpy linspace -funksjon i den. Den brukes til å lage en serie som er jevn fordelt i et visst intervall. Til slutt har vi brukt Pyplot -pakken fra Matplotlib og gitt variabelen “I” til den. Numpy sinusfunksjon brukes også til å generere sinusplottet.

%matplotlib inline
Importer numpy som NP
Importer matplotlib.Pyplot som Plt
%Config InlineBackend.figur_format = "Retina"
plt.rcparams ["Figur.Figsørrelse "] = (9.0,3.0)
i = np.Linspace (-2*NP.pi, 2*np.Pi, 200)
plt.plot (i, np.synd (i)/i);

Utgangen fra netthinnen høy oppløsning vises på bildet nedenfor.

Eksempel 2:

Vi har brukt en to -linjer som bruker alternativet Inline Backend Figur Format som "Retina". De resulterende linjene vil ha en netthinnekvalitet med høy oppløsning. Først av alt må vi bruke kommandoen “%matplotlib inline” i det hurtige skallet til Spyder. Kommandoen aktiverer plottet som genereres inne i hurtigskallet.

Her har vi konfigurert Retina Display -kommandoen i koden vår etter å ha importert alle essensielle Python -biblioteker for bruk av trigonometriske funksjoner og generert plottet. Vi har også satt MatplotLib Runtime Configuration (RC) som "RCParams" som inneholder figurstørrelsen for plottelementet, vi har generert når det laster.

Variabelen “A” er erklært og bruker Numpy Linspace -funksjonen for å lage serien med visse intervaller. Deretter bruker Matplotlib Pyplot -pakken der vi har passert variabelen “A” og den trigonometriske sinusfunksjonen. Handlingen. Plott "-funksjon vil generere de to linjene med sinusfunksjoner, da vi har brukt to sinusfunksjoner med litt forskjellige beregninger.

%matplotlib inline
Importer numpy som NP
Importer matplotlib.Pyplot som Plt
%Config InlineBackend.figur_format = "Retina"
plt.rcparams ["Figur.Figsørrelse "] = (5.0,3.0)
a = np.Linspace (-4*NP.pi, 4*np.pi, 50)
plt.plot (a, np.sin (a)/a, a, np.sin (2*a)/a);

Matplotlib Retina har en høyoppløselig plott i bildet nedenfor.

Eksempel 3:

Vi har vist plottet ved å bruke forskjellige farger og også bruke forskjellige symboler for å peke på det spesifikke punktet i plottet som er gitt. Plottet vil bli gjengitt i Matplotlib Retina -kvaliteten. I koden har vi gitt inline -kommandoen. Vi har også importert Numpy Library og Matplotlib Library.

Retina -visningsalternativet er konfigurert i kommandoen. Deretter har vi satt størrelsen på plottet og erklært en variabel “I” som vil skape serien med intervaller ved å bruke Numpy Linspace -funksjonen. Merk at her har vi kalt PLT. Plottfunksjon der vi har generert en kosinogrikk. Cosine Graph -linjen får en grønn farge med stjernesymbolet “*” og den andre kosinuslinjen har en farg rød som bruker kulesymbolet.

%matplotlib inline
Importer numpy som NP
Importer matplotlib.Pyplot som Plt
%Config InlineBackend.figur_format = "Retina"
plt.rcparams ["Figur.Figsørrelse "] = (7, 9)
i = np.Linspace (-6*NP.pi, 6*np.pi, 50)
plt.plot (i, np.cos (i)/i, 'g-*', i, np.cos (3*i)/i, 'r-o');

Som du kan se, er grafen nedenfor så fin og har en klar visjon om Matplotlib Retina Display.

Eksempel 4:

Vi har laget et fargemappet spredningsplott i en retina-skjermmodus. Kommandoen over alternativet Matplotlib Retina er gitt i “InlineBackend.FIGUR_FORMAT ”. Variabelen er definert som "Thetavalue" og initialisert med Numpy Linspace -funksjonen som har tatt "60" skritt fra "0" til "6" PI. Array -størrelsen er også satt til “10” for “60” verdier ved å bruke Numpy -funksjonen. Den vil returnere den gitte matriseformen med en.

Deretter har vi en variabel som "A" som bruker NP.tilfeldig.RAND -funksjonen og passerte en verdi “60” i den. Funksjonen tar den "60" tilfeldige verdien i [0, 1] og spesifiserer utgangsstørrelsen. Variablene “B” og “C” er erklært og passert “Thetavalue” som en parameter. Variabelen “B” bruker Numpy Cosine -funksjonen, og variabelen “C” bruker Numpy Sine -funksjonen.

Til slutt bruker vi spredning () -metoden i Pyplot som brukes til å lage en spredningsplott. For hver observasjon tegner spredning () -funksjonen en enkelt prikk. Det krever to matriser i identisk lengde, den ene for x-akserverdier og den andre for y-akserverdier.

%matplotlib inline
Importer numpy som NP
Importer matplotlib.Pyplot som Plt
%Config InlineBackend.figur_format = "Retina"
thetavalue = np.Linspace (0,4*NP.pi, 60)
Arrsize = 10*NP.de (60)
a = np.tilfeldig.Rand (60)
b = thetavalue*np.Cos (Thetavalue)
c = thetavalue*np.Sin (Thetavalue)
plt.Spredning (B, C, Arrsize, A)

Bildet nedenfor er den fargemaktede spredningsplottet.

Eksempel 5:

Her har vi laget flere tomter ved å bruke underplanene. Plottet er gjengitt i netthinnekvaliteten. Til å begynne med har vi gitt en inline -kommando i vårt hurtigskall. Etter det har vi implementert koden som bruker Numpy Library og Matplotlib Pyplot -pakken. Matplotlib Retina Display -kommandoen er også gitt, da vi vil ha en tomt med høy oppløsning.

Deretter har vi satt serien med intervaller for grafen ved å bruke Numpy Linspace -funksjonen og lagret dette i variabelen “Thetais”. De to variablene er også erklært her som "jeg" og "j". Disse variablene bruker henholdsvis numpy kosinus og sinusfunksjon. Med Pyplot har vi kalt delplottmetoden som lager 1 rad, 2 kolonner og aktiv som plott nummer 2.

Plt.Plottfunksjonen tar "jeg" og setter linjen som blå farge og peker med pluss -symbolet "+". Det er en andre delplot som oppretter 1 rad, 2 kolonner, og er aktiv som plott nummer 1. Plt.Plott tar "J" og setter fargen til rød med trekantsymbolet "^".

%matplotlib inline
Importer numpy som NP
Importer matplotlib.Pyplot som Plt
%Config InlineBackend.figur_format = "Retina"
thetais = np.Linspace (0,1*NP.pi, 10)
i = thetais*np.Sin (Thetais)
j = thetais*np.Cos (Thetais)
plt.subplot (1,2,2)
plt.plot (i, 'b-+')
plt.subplot (1,2,1)
plt.plot (j, 'r-^');

Underplanene nedenfor er veldig tydelige, da vi har en Matplotlib Retina -skjerm.

Konklusjon

Som vi har diskutert bruken av Matplotlib Retina høyoppløselig grunnleggende funksjon for å lage et plot. Vi har vist deg et annet eksempel på å plotte forskjellige grafer som bruker netthinnekommandoer i kodeimplementeringen. Du kan nå finne ut hvordan netthinnedisplayet vil bli forbedret med standard av lav kvalitet i Spyder-applikasjonen. Matplotlib Retina Display vil sikkert hjelpe deg med å generere en graf av høy kvalitet.