Bruk av matplotlibs stramme_layout i python

Bruk av matplotlibs stramme_layout i python
I Python er matplotlib-modulen en kvantitativ-matematisk ekspansjon for Numpy-pakken. Pyplot-rammen av Matplotlib-pakken tilbyr et statsbasert system som muliggjør MATLAB-lignende funksjonalitet. Linjegraf, gradient, histogram, spredning, 3D -graf og andre grafer kan være ment i Pyplot.

Tight_layout -funksjonen i matplotlib endrer effektivt størrelsen på underplanen for å innlemme i plottregionen. Det er en utforskende funksjonalitet som kanskje ikke utfører i alle tilfeller. Den evaluerer bare flåttetikettene, aksetikettene og titlerenes ekstensivitet. Vi kan bruke dette verktøyet for å lage interaktive visualiseringer som kan sees på hver plattform.

La meg raskt gå gjennom parametrene for matplotlib tight_layout før vi kommer inn i tilfeller.

Matplotlib Tight_Layout -parametere

Tight_layout -funksjonen har tre parametere:

  • Pute: Det er brøkavstanden mellom den grafiske grensen og grensen til underplott, e.g. Flytende antall skrift og størrelse.
  • H_PAD og W_PAD: Disse parametrene brukes til avstand (lengde og bredde) langs påfølgende delplotgrenser, uttrykt som forholdet mellom skrift og størrelse. PAD er standardmodus. Dette er en valgfri parameter.
  • RECT: Tuple (øverst, venstre, høyre, nederst) som indikerer en ramme (øverst, venstre, høyre, bunn) i de justerte grafiske koordinatene som bare vil romme hele delplottområdet (som inneholder etiketter). Standardinnstillingen er 0, 0, 1 og 1.

Bruke GridSpec med matplotlib tight_layout

GridSpec inneholder en tette_layout () -funksjon av seg selv. Tight_Layout () fra Pyplot API kjører imidlertid fortsatt. Vi kan indikere koordinatene som delplottene vil bli plassert ved hjelp av det valgfrie rect -argumentet. For å redusere overlapping, endrer metoden Tight_Layout ().

Importer matplotlib.Pyplot som Plt
Importer matplotlib.GridSpec som GridSpec
Fig = plt.Figur (FigSize = ([8, 4]))
GS = GridSpec.Gridspec (3, 6)
ax1 = plt.Subplot (GS [1 ,: 3])
AX1.set_ylabel ('etikett 1', etikettpad = 1, fontsize = 14)
AX1.plot ([1, 2, 3], [3, 4.6, 5])
ax2 = plt.Subplot (GS [0, 3: 6])
AX2.set_ylabel ('label 2', labelpad = 1, fontsize = 14)
AX2.plot ([3, 4.4, 8], [3, 4.5, 5])
ax3 = plt.Subplot (GS [2, 4: 8])
AX3.set_ylabel ('label 3', labelpad = 1, fontsize = 14)
AX3.Plott ([3.1, 5.4, 7.6, 4.9], [1.3, 4.4, 7, 3])
plt.tight_layout ()
plt.forestilling()

Dimensjonene må ha vært i standardiserte grafiske parametere, med standardinnstillingen (0, 0, 1 og 1). Endring av topp og bunn kan nødvendiggjøre å endre HSPACE også. Vi utfører Funksjonen Tight_Layout (). Rektparameteren gir området som integrerer flåttetikettene og andre elementer.

Matplotlib tight_layout () funksjon ved hjelp av titler og bildetekster

Titler og bildetekster er blitt eliminert fra avgrensningsregionens beregninger som bestemmer formatet før matplotlib. Disse ble nok en gang brukt i bestemmelsen, men å inkludere dem er ikke alltid tilrådelig. Derfor er det i denne situasjonen å senke aksene for å skape utgangspunkt for plottet indikert.

Importer matplotlib.Pyplot som Plt
Importer matplotlib.GridSpec som GridSpec
plt.Lukk alle')
Fig = plt.figur()
Fig, AX = PLT.delplotter (FigSize = (6, 5))
linjer = øks.plot (rekkevidde (12), label = 'plot')
øks.Legend (bbox_to_anchor = (0.8, 0.4), loc = 'nederst til venstre',)
Fig.tight_layout ()
plt.forestilling()

I dette tilfellet, etter å ha integrert matpotlib.Pyplot og Matplotlib.Gridspec -biblioteker, vi definerer PLT.Figur () Funksjon. Vi indikerer utvalget av linjer tegnet i grafen og gir taggen 'plott' til grafen. Vi spesifiserer også plasseringen av tittelen på grafen.

Tight_layout pad i matplotlib

Avstanden mellom både grafiske grenser og grensene for underplanene vil bli endret. Det er ingen data returnert av denne prosedyren. Tight_layout -metoden i matplotlib gjenskaper dynamisk et underplan for å imøtekomme i tomtområdet.

Importer numpy som NP
Importer matplotlib.Pyplot som Plt
Fig, AX = PLT.underplott (2, 2)
data = np.Arange (1.0, 40, 1.05)
x1 = np.Sin (data)
y1 = np.cos (data)
x2 = np.cos (data)
y2 = np.Tan (data)
x3 = np.Tan (data)
y3 = np.exp (data*3)
x4 = [4,15,20]
Y4 = [8,15,22]
øks [1, 1].plot (x1, y1)
øks [1, 0].plot (x2, y2)
øks [0, 1].plot (x3, y3)
øks [0, 0].plot (x4, y4)
øks [1, 1].set_title ("Figur 1")
øks [1, 0].set_title ("Figur 2")
øks [0, 1].set_title ("Figur 3")
øks [0, 0].set_title ("Figur 4")
plt.tight_layout (pad = 4.5)
plt.forestilling()

Padding -attributtet brukes til å tilpasse dem. Vi integrerer matplotlib.Pyplot og Numpy -biblioteket i dette tilfellet.

Deretter bruker vi subplots () -funksjonen for å generere et diagram og en sekvens av delplott. Når vi bruker plott () -funksjonen, spesifiserer vi datamensjonene for forskjellige delplotter og viser datasettene. Deretter brukes SET_TITLE () -funksjonen for å sette inn en taglinje til hver graf. Til slutt bruker vi bare PLT.tight_layout () -funksjonen for å endre avstanden.

Vi gir pute som en attributt og setter verdien til 4.5 i ett tilfelle og 1.0 i den andre.

Matplotlib tight_layout hspace

Her vil vi se hvordan vi kan endre høyden innenfor suksessive underplottets marginer. H_PAD -argumentet er gitt til Tight_Layout () -funksjonen for å endre høyden.

Importer numpy som NP
Importer matplotlib.Pyplot som Plt
Fig, AX = PLT.underplaner (1, 2)
data = np.Arange (1.0, 40, 1.5
x1 = np.Sin (data)
y1 = np.cos (data)
x2 = np.cos (data)
y2 = np.Tan (data)
øks [1].plot (x1, y1)
øks [0].plot (x2, y2)
øks [0].set_title ("Figur 1")
øks [1].set_title ("Figur 2")
plt.tight_layout (h_pad = 1.2)
plt.forestilling()

Vi inkluderer matplotlib.Pyplot og Numpy -biblioteket i dette eksemplet. Ved å bruke teknikken for delplott (), genererer vi et diagram og en samling av underplott. Videre bruker vi plottet () -funksjonen for å visualisere dataene og analysere datadimensjonene for mange delplotter.

Set Title () -funksjonen brukes til å sette inn en bildetekst i hver graf. Nå bruker vi PLT.Tett layout () -funksjon for å endre høyden mellom begge toppunktene. I begge situasjoner spesifiserer vi H_PAD som et argument og setter verdien til 1.2 og 12.5 henholdsvis.

Tight_layout har til hensikt å omorganisere delplott i en graf slik at akserelementer og titler på aksene ikke er i konflikt.

Konklusjon

Vi undersøkte noen få forskjellige metoder for å oppnå matplotlib tight_layout i python i denne artikkelen. Med Gridspec, etiketter og illustrasjoner forklarte vi hvordan vi bruker tight_layout -metoden. Vi kan også bruke en stram_layout i forbindelse med fargelinjer for å få det til å se bra ut i den grafiske presentasjonen.