Lokalizacja legendy Matplotlib

Lokalizacja legendy Matplotlib

Matplotlib to świetny pakiet wizualizacji Python dla wykresów tablicy 2D. Legenda to sekcja, która określa części wykresu. Legend () to metoda w pakiecie Matplotlib, która jest używana do wyświetlania legendy na wykresach. Parametr LOC w metodzie Legend () można wykorzystać do wskazania umieszczenia legendy. Loc = ”Best” to wartość domyślna (górna lewa). Legenda znajduje się do odpowiedniej pozycji liczb według parametrów Najlepsze górne prawe, lewe górne, lewe dolne, prawe, prawe, dolne, dolne, lewe środkowe, dolne, środkowe prawe i górne środek. Legendy fabularne zapewniają kontekst wizualny poprzez wdrożenie dobra dla komponentów fabuły.

W tym artykule sprawdźmy, jak dostosować pozycjonowanie legendy i estetykę w Matplotlib.

Lokalizacja legendy

Termin „loc” jako parametr może być wykorzystany do wskazania umieszczenia legendy. W takim przypadku widzimy metodę sposobu, w jaki lokalizujemy legendę.

importować matplotlib.Pyplot as Plt
importować Numpy jako NP
Ryc, ax_dict = plt.subplot_mosaic ([['top', 'top'], ['dolny', 'puste']],
opty_sentinel = „blank”)
ax_dict ['top'].Wykres ([2, 3, 4], label = „etykieta 1”)
ax_dict ['top'].Wykres ([4, 3, 2], label = „etykieta2”)
ax_dict ['top'].legenda (Bbox_to_anchor = (0., 1.02, 1., .102), loc = „dolny lewy”,
ncol = 2, tryb = "rozwój", FordeaSespad = 0.)
ax_dict [„dolny”].Wykres ([2, 3, 4], label = „etykieta 1”)
ax_dict [„dolny”].Wykres ([4, 3, 2], label = „etykieta2”)
ax_dict [„dolny”].legenda (Bbox_to_anchor = (1.05, 1),
loc = „górny lewy”, FordeaSespad = 0.)
plt.pokazywać()

Polecenie Bbox_TO_ANCHOR pozwala nam dużo elastyczności, jeśli chodzi o ręczne ustawianie legend. Jeśli chcemy, aby legenda osi pojawiła się w prawej górnej górnej stronie modelu, a nie na granicy osi, po prostu zapewniamy pozycję narożnika i trójwymiarową pozycję.

Legenda jest wstawiona tuż poza wątkiem i rozszerza się na. Korzystamy również z dostarczonej skrzynki ograniczającej. Legenda jest dodawana po prawej stronie mniejszego wątku na drugim wykresie.

Podaj informacje o lokalizacji

Plt.Funkcja Legend (), która automatycznie generuje legendę dla każdego zidentyfikowanego punktu wykresu, jest najłatwiejszą metodą opracowania legendy. Istnieje jednak wiele metod modyfikacji takiej legendy. Możemy zdefiniować pozycję i wyłączyć ramkę.

importować matplotlib.Pyplot as Plt
plt.styl.Użyj („klasyczny”)
importować Numpy jako NP
x = np.Linspace (0, 20, 2000)
Ryc, ax = plt.wątki ()
topór.fabuła (x, np.sin (x), „-b”, etykieta = „sinus”)
topór.fabuła (x, np.cos (x), „--r”, etykieta = „cosinki”)
topór.Oś („równa”)
noga = ax.legenda();
topór.Legend (loc = „górny lewy”, frameon = false)
Figa
topór.legenda (frameon = false, loc = „dolny środek”, ncol = 3)
Figa
topór.Legend (FancyBox = True, Framealpha = 1, Shadow = True, borderpad = 2)
Figa

Aby dowiedzieć się liczby wierszy w legendzie, musimy użyć polecenia „NCOL”. Dodajemy również odcień, dostosowujemy widoczność (wartość alfa) ramy lub modyfikujemy odstępy wokół zawartości za pomocą zaokrąglonego pudełka (FancyBox).

Identyfikacja elementów legendy

Domyślnie legenda zawiera wszystkie oznaczone elementy. Jeśli nie jest to, czego chcemy, wykorzystamy elementy dostarczone przez polecenia fabuły, aby dostroić, które komponenty i tytuły pokazują w legendzie.

importować matplotlib.Pyplot as Plt
plt.styl.Użyj („klasyczny”)
importować Numpy jako NP
x = np.Linspace (0, 16, 2000)
Ryc, ax = plt.wątki ()
y = np.sin (x [:, np.newaxis] + np.pi * np.Arange (0, 2, 0.5))
Linie = plt.Wykres (x, y)
plt.legenda (linie [: 2], [„First”, „Second”]);
plt.Wykres (x, y [: 0], etykieta = „First”)
plt.Wykres (x, y [:, 1], etykieta = „sect”)
plt.Wykres (x, y [:, 2:])
plt.Legend (Framealpha = 1, frameon = true);

Plt.funkcja wykres () może konstruować wiele linii jednocześnie i zawiera listę utworzonych linii. Dostarczając którekolwiek z nich do PLT.Legend (), możemy wskazać, które elementy do zlokalizowania, a także etykiety, których chcemy użyć. Legenda eliminuje dowolne elementy bez domyślnego atrybutu tytułu.

Wiele legend

Podczas tworzenia wykresu możemy chcieć uwzględnić różne legendy w tej samej osi. Jednak Matplotlib jakoś nie czyni tego prostym. Możemy skonstruować jedynie pojedynczą legendę dla nadrzędnej fabuły przy użyciu metody konwencjonalnej legendy.

Jeśli chcemy użyć PLT.Legend () lub AX.legenda () do zbudowania drugiej legendy, a następnie powoła się na pierwszą. Możemy to zrobić, dodając legendę od samego początku, a następnie wyraźnie dodając nowego artysty do fabuły, która wykorzystuje topór niższy poziom.Dodaj technikę artysty ().

Jak zauważamy, metoda zawiera jedynie podstawową logikę ustanowienia odpowiedniego artysty legendy, który następnie będzie przechowywany w atrybucie Legend_ i włożony na wykres po utworzeniu wykresu.

Poza fabułą

Używamy matplotlib, aby utrzymać obcięcie ramy legendy. Zastosujemy Bbox_Extra_artists i Bbox_inches, aby upewnić się, że legenda nie zostanie przycięta. Artyści Bbox_Extra wskazują listę artystów, którzy zostaną wzięte pod uwagę podczas obliczania ciasnego Bboxa. Jeśli BBOX_INCHES są dostosowane do kompaktowych, dla rysunku powstanie napięte Bbox.

importować matplotlib.Pyplot as Plt
importować Numpy jako NP
x = np.Linspace (0, 20, 3)
y = np.cos (x)
y1 = np.exp (x)
plt.Wykres (x, y, label = "cos (x)")
plt.wykres (x, y1, label = "exp (x)")
Legend_outside = Plt.legenda (Bbox_to_anchor = (1.05, 0.0),
loc = „dolny prawy w prawo”)
plt.SaveFig („Outside_Legend.png ',
DPI = 100,
format = „png”,
Bbox_Extra_artists = (legend_outside,),
bbox_inches = „ciasny”)
plt.pokazywać()

W przypadku analizy wizualnej integrujemy MATPlotlib.Pyplot as Plt. Następnie, dla metadanych, uwzględniamy Numpy jako NP. Używamy funkcji Linspace (), cos () i exp () do określania wymiarów danych. Używamy metody wykresu do rysowania wykresu. Korzystamy z funkcji Legend () z argumentem Bbox_TO_ANCHOR, aby dodać legendę z zewnętrznej działki. Wykres jest następnie zapisywany jako plik PNG za pomocą metody SaveFig (). Zapewniamy argumenty Bbox_Extra_artists i Bbox_inches do metody SaveFig (), aby uniknąć obcięcia legendy.

Wniosek

W tym artykule uczymy się kilku metod dostosowania lokalizacji legendy w Matplotlib. Domyślna pozycja legendy jest „najlepsza”, oznacza to, że Matplotlib zidentyfikuje pozycję legendy, która uniemożliwia zaciemnienie wszelkich zestawów danych. Parametr BBOX_TO_ANCHOR () można również wykorzystać do zlokalizowania legendy poza wykresem. W tym artykule omówiliśmy również metodę dołączania różnych tytułów do komponentów fabuły, które chcemy pokazać w legendzie. Legenda domyślnie czasami nie wystarcza do konkretnej wizualizacji. Wtedy może wykorzystamy wartości punktów, aby zilustrować określone aspekty danych, więc będziemy musieli zbudować legendę, aby to reprezentować. Ponadto można wskazać każde miejsce legendy.