Programiści często używają funkcji plot do rysowania punktów na diagramach. Funkcja plot () domyślnie tworzy linię zaczynającą się w jednym punkcie i kończącą się w innym punkcie. Funkcja ta uwzględnia parametry, aby określić punkty diagramu. Na osi X znajdują się punkty dla parametru 1, a na osi Y – dla parametru 2.
W Matplotlib można narysować więcej niż jeden wykres znajdujący się w jednej działce na dwa sposoby. Funkcja subplot () może pomóc w utworzeniu jednego wykresu, natomiast drugi można utworzyć, nakładając go na pierwszy, co oznacza, że każdy wykres będzie znajdował się na jednej działce. Czytaj dalej, aby dowiedzieć się, jak tworzyć wiele wykresów w Matplotlib.
Używanie funkcji Subplot () do tworzenia wielu wykresów
Funkcja Subplot () jest w istocie funkcją opakowującą, która pomaga programistom w tworzeniu wielu wykresów w jednym elemencie stałym. To, co czyni tę funkcję bardzo przydatną, to fakt, że programiści muszą ją wywołać tylko raz.
Składnia
matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
Parametry
nrows, ncols
Za ich pomocą można określić dokładną liczbę odpowiednio kolumn i wierszy. Warto również pamiętać, że użycie tych parametrów jest całkowicie opcjonalne. Domyślną wartością tych parametrów jest 1.
sharex, sharey
sharex i sharey są niezbędne do określenia właściwości współdzielonych między osią y i a. Ich prawdopodobnymi wartościami mogą być none, col, row. W przeciwnym razie zawsze jest to wartość domyślna False.
squeeze
W odróżnieniu od innych wartości, ta jest w zasadzie wartością logiczną, która pyta programistów o to, czy ma wycisnąć, czyli wyeliminować dodatkowy wymiar obecny w tablicy. Domyślną wartością squeeze jest False.
subplot_kw
Za pomocą tego parametru programiści mogą dodawać słowa kluczowe do każdego podrozdziału. Domyślną wartością tego parametru jest Brak.
gridspec_kw
Użycie tego parametru pomaga w dodawaniu siatek do każdej podpowierzchni. Również w tym przypadku domyślną wartością tego parametru jest Brak.
fig_kw
Użycie parametru fig_kw umożliwia programistom dodanie w wywołaniu funkcji dodatkowych argumentów w postaci słów kluczowych. Domyślną wartością tego parametru jest również Brak.
Matplotlib ma funkcję, która jest dość podobna do subplot. Funkcja ta jest określana jako subplot2grid(). W gruncie rzeczy funkcja ta i subplot są prawie takie same, ale funkcja subplot2grid() oferuje większą elastyczność, jeśli chodzi o organizowanie obiektów wykresu zgodnie z potrzebami programisty.
Oto, jak zapisana jest ta funkcja:
Składnia
matplotlib.pyplot.subplot2grid(shape, loc, rowspan=1, colspan=1, fig=None, **kwargs)
Parametr
shape
Parametr shape jest w zasadzie ciągiem zawierającym 2 wartości całkowite, które pomagają nam określić kształt siatki. W tym miejscu należy umieścić osie. Pierwszy wpis jest używany dla wiersza, a drugi dla kolumny.
Ioc
Podobnie jak w przypadku parametru shape, parametr Ioc również ma sekwencję dwóch wartości całkowitych. W tej sekwencji pierwszy wpis dotyczy wiersza, a drugi kolumny – umieszczenia osi w siatce.
rowspan
Parametr rowspan wykorzystuje wartość całkowitą wraz z liczbą określającą liczbę rzędów, o jaką oś będzie musiała się zwiększyć lub rozciągnąć na prawą stronę.
colspan
W przeciwieństwie do parametru rowspan, parametr colspan wykorzystuje wartość całkowitą wraz z liczbą określającą całkowitą liczbę kolumn potrzebnych do zwiększenia długości osi w kierunku do dołu.
fig
Parametr fig jest całkowicie opcjonalny i wykorzystuje figurę do umieszczenia osi. Warto również pamiętać, że domyślnie fig jest ustawiona na bieżącą figurę.
Kwargs
Kwargs pomaga programistom przekazać dodatkowe argumenty słowa kluczowego do wywołania funkcji. Domyślną wartością tego parametru jest None.
Tworzenie wykresu w obrębie tego samego wykresu
Do tej pory omówiliśmy podstawy Matplotlib i wykorzystanie subplot do tworzenia więcej niż jednej siatki dzięki bibliotece subplot2grid i subplot grid. Teraz omówimy, jak kompilować podpowierzchnie w jednym i wielu kierunkach.
Kompilowanie podpowierzchni w jednym kierunku
Dwa nieobowiązkowe argumenty pyplot.subplots określają liczbę kolumn i wierszy w siatce subplot. Jeśli planujemy układanie tylko w jednym kierunku, axs jest zasadniczo tablicą NumPy1D zawierającą spis osi.
Kompilowanie subplotów w dwóch kierunkach
Zwracana oś, gdy układane są dwa kierunki, jest tablicą 2D NumPy. Jeśli planujemy utworzyć parametry dla każdego podplotu, najlepiej będzie iterować po każdym podplocie, używając dwuwymiarowej siatki for ax in axs.flat:
Dzielenie osi
Każda oś jest domyślnie skalowana indywidualnie. Z tego powodu wartości zaznaczeń subplotów nie są prawidłowo wyrównane, jeśli ich zakresy nie są takie same. Ustawienie opcji sharey lub sharex na wartość True uaktywnia globalne dzielenie w całej siatce, co oznacza, że osie y pionowo ułożonych subplotów mają tę samą skalę, jeśli użyto w nich opcji sharey=True.
Jeden zestaw etykiet zaznaczenia jest więcej niż wystarczający, jeśli chodzi o współdzielenie osi przez subploty. Jeśli chodzi o osie wewnętrzne, to ich etykiety są automatycznie usuwane przez sharey i sharex. Wciąż jednak pozostaje pusta, niewykorzystana przestrzeń między subplotami.
Jeśli chcesz kontrolować pozycjonowanie podpowierzchni w odpowiedni sposób, najlepiej użyć GridSpec z Figure.add_gridspec, a następnie zastosować technikę podpowierzchni. Na przykład można zminimalizować wysokość pionowego subplotu, używając metody add_gridspec(hspace=0).label_outer. Jest to niezwykle pomocna metoda usuwania kleszczy i etykiet z podpłat, które nie znajdują się na brzegu siatki.
Oprócz True i False, sharey i sharex przyjmują wartości ‘col’ i ‘row’ tylko dla kolumny lub wiersza. Jeśli planujesz utworzyć bardziej złożoną strukturę współdzielenia, najlepiej będzie utworzyć siatkę osi bez współdzielenia, a następnie skorzystać z axes.Axes.sharex lub axes.Axes.sharey.
Tworzenie wielu wykresów w Matplotlibie może być trudne, jeśli nie ma się wystarczającej wiedzy na temat podstaw, właściwej składni i parametrów. Informacje omówione w tym rozdziale pomogą Ci jednak tworzyć wykresy w Matplotlibie we właściwy sposób, dzięki czemu tworzenie wielu wykresów będzie stosunkowo łatwe.