Użycie Matplotlib's Tight_layout w Python

Użycie Matplotlib's Tight_layout w Python
W Pythonie moduł MATPlotlib jest ilościową ekspansją dla pakietu Numpy. Framework Pyplot pakietu Matplotlib oferuje system oparty na państwie, który umożliwia funkcjonalność podobną do MATLAB. Wykres linii, gradogram, histogram, dyspersja, wykres 3D i inne wykresy można zamierzyć w Pyplot.

Funkcja tight_layout w MATPlotlib skutecznie zmienia rozmiar wątku, aby włączyć się w obszarze wykresu. Jest to funkcjonalność eksploracyjna, która może, ale nie musi działać we wszystkich przypadkach. Po prostu ocenia etykiety kleszczy, etykiety osi i rozszerzalność tytułów. Możemy wykorzystać to narzędzie do tworzenia interaktywnych wizualizacji, które można obejrzeć na każdej platformie.

Pozwól, że szybko przejdę przez parametry dla Matplotlib Tight_layout, zanim przejdziemy do instancji.

MATPlotlib Parametry Parametry

Funkcja cicik_layout ma trzy parametry:

  • Podkładka: Są to ułamkowe odstępy między granicą graficzną a granicą wątków, e.G. Pływająca liczba czcionki i rozmiaru.
  • H_PAD i W_PAD: Te parametry są używane do odstępu (długość i szerokość) wzdłuż kolejnych granic podplotowych, wyrażanych jako stosunek czcionki i wielkości. Pad to tryb domyślny. To są opcjonalny parametr.
  • Rect: Tuple (górny, lewy, prawy, dolny), który wskazuje ramkę (górna, lewa, prawy, dolny) w skorygowanych współrzędnych graficznych, które pomieści tylko cały region wątku (zawierający etykiety). Ustawienie standardowe to 0, 0, 1 i 1.

Za pomocą GridSpec z Matplotlib Tight_layout

Gridspec zawiera własną funkcję ciciaka. Tight_layout () z Pyplot API jednak nadal działa. Możemy wskazać współrzędne, w których wątki podplotowe zostaną umieszczone za pomocą opcjonalnego prostego argumentu. Aby zmniejszyć nakładanie się, metoda cicik_layout () modyfikuje przestrzeń wśród wątków podrzędnych.

importować matplotlib.Pyplot as Plt
importować matplotlib.Gridspec jako Gridspec
Ryc = plt.Rysunek (rysunek = ([8, 4])))
GS = Gridspec.Gridspec (3, 6)
ax1 = plt.wątek (GS [1,: 3])
ax1.set_ylabel („etykieta 1”, etykieta = 1, fontsize = 14)
ax1.Wykres ([1, 2, 3], [3, 4.6, 5])
ax2 = plt.wątek (GS [0, 3: 6])
ax2.set_ylabel („etykieta 2”, etykieta = 1, fontsize = 14)
ax2.fabuła ([3, 4.4, 8], [3, 4.5, 5])
ax3 = plt.wątek (GS [2, 4: 8])
AX3.set_ylabel („etykieta 3”, etykieta = 1, fontsize = 14)
AX3.wykres [[3.1, 5.4, 7.6, 4.9], [1.3, 4.4, 7, 3])
plt.cicik_layout ()
plt.pokazywać()

Wymiary musiały być w znormalizowanych parametrach graficznych, z ustawieniem domyślnym (0, 0, 1 i 1). Zmiana górnej i dolnej może również wymagać modyfikacji HSPACE. Ponownie wykonujemy funkcję ciciaka_layout () ze zmodyfikowanym parametrem prostym, aby dostosować HSPACE i VSPACE. Parametr prostego zapewnia obszar, który integruje etykiety i inne elementy.

Funkcja MATPlotlib cicik_layout () za pomocą tytułów i podpisów

Tytuły i podpisy zostały wyeliminowane z obliczeń regionu ograniczającego, które określają format przed matplotlibem. Zostały one ponownie wykorzystane w determinacji, ale włączenie ich nie zawsze jest wskazane. Dlatego w tej sytuacji wskazano obniżenie osi w celu utworzenia punktu wyjścia dla wykresu.

importować matplotlib.Pyplot as Plt
importować matplotlib.Gridspec jako Gridspec
plt.Zamknij („All”)
Ryc = plt.postać()
Ryc, ax = plt.wątki (figSize = (6, 5))
Linie = AX.Wykres (zakres (12), etykieta = „wykres”)
topór.legenda (Bbox_to_anchor = (0.8, 0.4), loc = „dolny lewy”,)
Figa.cicik_layout ()
plt.pokazywać()

W tym przypadku po zintegrowaniu matpotlib.Pyplot i Matplotlib.Biblioteki GridSpec, definiujemy PLT.Funkcja () funkcja. Wskazujemy zakres linii narysowanych na wykresie i podajemy tag „wykres” na wykres. Określamy również lokalizację tytułu wykresu.

Tight_layout pad w matplotlib

Odstępy między zarówno granic graficznych, jak i granic podwplotów, zostaną zmodyfikowane. Ta procedura nie zwrócono danych. Metoda ciasnego_layout w MATPlotlib dynamicznie odtwarza wątek poniżej.

importować Numpy jako NP
importować matplotlib.Pyplot as Plt
Ryc, ax = plt.wątki (2, 2)
Data = NP.Arange (1.0, 40, 1.05)
x1 = np.sin (dane)
y1 = np.cos (dane)
x2 = np.cos (dane)
y2 = np.tan (dane)
x3 = np.tan (dane)
y3 = np.exp (dane*3)
x4 = [4,15,20]
Y4 = [8,15,22]
AX [1, 1].Wykres (x1, y1)
AX [1, 0].Wykres (x2, y2)
AX [0, 1].Wykres (x3, y3)
AX [0, 0].Wykres (x4, y4)
AX [1, 1].set_title („Rysunek 1”)
AX [1, 0].set_title („Rysunek 2”)
AX [0, 1].set_title („Rysunek 3”)
AX [0, 0].set_title („Rysunek 4”)
plt.cicik_layout (pad = 4.5)
plt.pokazywać()

Atrybut wyściółki jest używany do ich dostosowania. Integrujemy Matplotlib.Pyplot i biblioteka Numpy w tym przypadku.

Następnie używamy funkcji podwplotów () do wygenerowania wykresu i sekwencji wątków wątki poniżej. Korzystając z funkcji PTOT (), określamy wymiary danych dla różnych wątków i wyświetlamy zestawy danych. Następnie funkcja set_title () jest wykorzystywana do wstawienia linii znacznika do każdego wykresu. W końcu po prostu używamy PLT.Funkcja tight_layout () w celu modyfikacji odstępów.

Zapewniamy PAD jako atrybut i ustawiamy wartość na 4.5 W jednym przypadku i 1.0 w drugim.

Matplotlib cicik_layout hspace

Tutaj zobaczymy, jak zmienić wysokość na marginesie kolejnych wątków. Argument H_PAD jest dostarczany do funkcji ciciko_layout () w celu zmodyfikowania wysokości.

importować Numpy jako NP
importować matplotlib.Pyplot as Plt
Ryc, ax = plt.wątki (1, 2)
Data = NP.Arange (1.0, 40, 1.5
x1 = np.sin (dane)
y1 = np.cos (dane)
x2 = np.cos (dane)
y2 = np.tan (dane)
AX [1].Wykres (x1, y1)
AX [0].Wykres (x2, y2)
AX [0].set_title („Rysunek 1”)
AX [1].set_title („Rysunek 2”)
plt.tight_layout (h_pad = 1.2)
plt.pokazywać()

Uwzględniamy matplotlib.Pyplot i biblioteka Numpy w tym przykładzie. Korzystając z techniki podwplotów (), generujemy wykres i zbiór wątków podrzędnych. Ponadto wykorzystujemy funkcję PTOT () do wizualizacji danych i analizy wymiarów danych dla wielu wątków.

Funkcja Set Title () służy do wstawienia podpisu do każdego wykresu. Teraz używamy PLT.Ciasna funkcja Layout () w celu zmodyfikowania wysokości między obiema wierzchołkami. W obu sytuacjach określamy H_PAD jako argument i ustawiamy wartość na 1.2 i 12.5 odpowiednio.

Ciasne_layout zamierza reorganizować wątki na wykresie tak, że osi elementy i tytuły na osiach nie konfliktują.

Wniosek

W tym artykule zbadaliśmy kilka różnych metod osiągnięcia MATPlotlib tight_layout w Pythonie. Z gridspec, etykietami i ilustracjami wyjaśniliśmy, jak używać metody ciasnej. Moglibyśmy również użyć ciasnego_layout w związku z paskami kolorów, aby wyglądał dobrze w prezentacji graficznej.