Jak używać etykiet w matplotlib

Jak używać etykiet w matplotlib
Zobaczymy różne metody oznaczenia wykresu MATPlotlib. Etykiety podadzą pełne informacje o wykresie i są łatwe do zrozumienia przez drugą osobę.

Tak więc w tym artykule zobaczymy szczegóły na następujące tematy:

  1. Dodawanie tekstu na wykresie
  2. Dodawanie etykiet do wykresów MATPlotlib
  3. Adnotacja tekstu (matplotlib.Pyplot.Annotate ()) dla wykresu liniowego
  4. Adnotacja tekstu (matplotlib.Pyplot.Annotate ()) dla wykresu słupkowego
  5. Adnotacja tekstu (matplotlib.Pyplot.Annotate ()) dla wykresu rozrzutu
  6. Funkcja legendy

1. Dodawanie tekstu na wykresie

Możemy również dodać tekst na wykresie, abyśmy nie musieli wskazywać ważnych informacji podczas prezentacji czegoś. Jeśli dołączymy tekst na określonych danych, będzie to również wyglądać bardziej profesjonalnie lub pouczająco.

Składnia to:

# DodanieTexTongRAph.py
importować matplotlib.Pyplot as Plt
importować Numpy jako NP
plt.clf ()
# Korzystanie z niektórych manekinów dla tego przykładu
x_value = np.Arange (0,15,1)
print („x_value”, x_value)
y_value = np.losowy.normalne (loc = 2.0, skala = 0.9, rozmiar = 15)
druk („y_value”, y_value)
plt.Wykres (x_value, y_value)
# Domyślny tekst zostanie wyrównany
plt.tekst (1,3, „ten tekst zaczyna się od x = 1 i y = 3 ')
# Ten tekst zostanie ustawiony w prawo
plt.Tekst (6,2, „Ten tekst kończy się na x = 6 i y = 2 ', horyzontalalignment =„ right ”)
plt.pokazywać()

Linia 2 do 3: Importujemy wszystkie niezbędne pakiety dla tego programu.

Linia 5: Nazywamy metodę CLF (). Ta funkcja pomaga narysować coś na samym poprzednim wykresie. Nie zamyka okna wykresu, aby dwa różne elementy możemy rysować na tym samym wykresie.

Linia 7 do 11: Właśnie stworzyliśmy niektóre losowe wartości dla wartości x_values ​​i y_values.

Linia 12: Przekazujemy te utworzone losowe wartości x i y do funkcji wykresu, aby narysować wykres.

Linia 15–20: Nasz wykres jest teraz gotowy i musi dodać tekst. Więc najpierw dodajemy tekst, który zaczyna się od x = 1, y = 3 (1, 3). Domyślnie tekst zostanie wyrównany po lewej stronie, aby powyższy tekst rozpoczął się od punktu (1, 3).

W następnym wierszu dodajemy kolejny tekst, którego punkt początkowy to x = 6 i y = 2. Ale tym razem wspomnialiśmy o ich horyzontaalacji = „right”, więc punkt końcowy tekstu to (6, 2).

Wyjście: Python DodanieTexTongraph.py

x_value [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
y_value [1.70365904 3.73967715 1.11413564 2.82135022 2.87735691 1.98391073
1.75867938 3.01109059 2.6281119 1.89008119 1.58300606 1.3142607
1.01428062 0.84672494 0.07056874]

2. Dodawanie etykiet do wykresów MATPlotlib

W tym przykładzie dodamy nazwy etykiet na wykresie. W poprzednim przykładzie, jeśli widzimy wykres wykresu, trudno jest zrozumieć, co próbuje powiedzieć wykres, ponieważ nie ma informacji na temat danych X lub danych. I nie jesteśmy również w stanie zobaczyć, gdzie znajdują się rzeczywiste dane na wykresie. Więc dodamy markery, aby zobaczyć punkty danych na wykresie wraz z etykietami.

# addLabels.py
# Zaimportuj wymaganą bibliotekę
importować matplotlib.Pyplot as Plt
# X i y dane
NumberOfemp = [13, 200, 250, 300, 350, 400]
Rok = [2011, 2012, 2013, 2014, 2015, 2016]
# Wykreśń wykres liniowy
plt.Wykres (rok, numerOFEMP, marker = „o”)
# Ustaw nazwę etykiety tytułu osi x
plt.XLABEL („Rok”)
# Ustaw nazwę etykiety tytułu osi x
plt.YLABEL („Liczba pracowników”)
# Ustaw nazwę etykiety tytułu wykresu
plt.Tytuł („Liczba wzrostu V/S. Wzrost roku”)
plt.pokazywać()

Linia 4 do 8: Importujemy wymaganą bibliotekę i tworzymy dwie listy dla x i y. Lista numerOFTEMP reprezentuje oś X, a rok listy reprezentuje osi Y.

Linia 11: Przekazujemy te parametry x i y do funkcji wykresu i dodajemy jeszcze jeden parametr w markerze funkcji wykresu. Znacznik zostanie użyty do wyświetlania punktów danych na wykresie. Istnieje wiele markerów do obsługi.

Linia 13–19: Ustawiamy nazwy etykiety wzdłuż osi X, osi Y i nazwy tytułu wykresu.

Wyjście: Python Addlabels.py

3. Adnotacja tekstu (matplotlib.Pyplot.Annotate ()) dla wykresu liniowego

Adnotacja tekstu to kolejna funkcja w MATPlotlib, która pomaga adnotować punkty danych.

# DataPoints_Labels_ON_LINE_GRAPH.py
# Zaimportuj wymagane pakiety
importować matplotlib.Pyplot as Plt
importować Numpy jako NP
# Zaimportuj metodę CLF () do narysowania innego wykresu w tym samym oknie wykresu
plt.clf ()
# Dummy zestaw danych z Numpy
x_values ​​= np.Arange (0,10,1)
y_values ​​= np.losowy.normalny (loc = 2, skala = 0.2, rozmiar = 10)
plt.wykres (x_values, y_values, marker = „d”, mfc = „zielony”, mec = „żółty”, ms = „7”)
#KIns do wartości x i y
dla x, y w zip (x_values, y_values):
label = ":.3f ”.Format (y)
plt.Annotate (etykieta, # To jest wartość, którą chcemy oznaczyć (tekst)
(x, y), # x i y to lokalizacja punktów, w której musimy oznaczyć
TextCoords = "Punkty przesunięcia",
xytext = (0,10), # to dla odległości między punktami
# i etykieta tekstowa
ha = „Center”,
ArrowProps = dict (ArrowStyle = "->", color = 'zielony'))
plt.pokazywać()

Linia 14: Przekazujemy parametr marker = "D", MFC (markerfacecolor) zielony kolor, MEC (markeredGecolor) żółty i MS (Markerize). MEC (MarkeredGecolor) to kolor, który jest poza punktem danych.

Linia 19: Formatujemy wartość y.

Jak pokazano niżej:

Rzeczywista wartość y = 2.0689824848029414

Po formacie wartość y wynosi 2.069 (zaokrąglone do 3 punktów dziesiętnych)

Linia 21 do 29: Przekazujemy wszystkie wymagane parametry do funkcji adnotacji, która jest, (x, y). XYTEXT jest dla odległości między punktami a etykietą. ArrowProps to kolejny parametr używany na wykresie do pokazania bardziej profesjonalnego sposobu. I w końcu wykreślamy wykres, który pokazano poniżej.

Wyjście: Python DataPoints_Labels_ON_LINE_GRAPH.py

4. Adnotacja tekstu (matplotlib.Pyplot.Annotate ()) dla wykresu słupkowego

Możemy również dodać adnotację tekstową do wykresu słupkowego matplotlib.

# Annotation_Bar_Graph.py
# Zaimportuj wymagane pakiety
importować matplotlib.Pyplot as Plt
importować Numpy jako NP
# Zaimportuj metodę CLF () do narysowania innego wykresu w tym samym oknie wykresu
plt.clf ()
# Dummy zestaw danych z Numpy
x_values ​​= np.Arange (0,10,1)
y_values ​​= np.losowy.normalny (loc = 2, skala = 0.5, rozmiar = 10)
plt.bar (x_values, y_values)
# Zip łączy współrzędne x i y w parach
dla x, y w zip (x_values, y_values):
label = ":.3f ”.Format (y)
plt.Annotate (etykieta, # To jest wartość, którą chcemy oznaczyć (tekst)
(x, y), # x i y to lokalizacja punktów, w której musimy oznaczyć
TextCoords = "Punkty przesunięcia",
xytext = (0,10), # to dla odległości między punktami
# i etykieta tekstowa
ha = „Center”,
ArrowProps = dict (ArrowStyle = "->", color = 'black'))
plt.pokazywać()

Powyższy kod adnotacji jest taki sam jak adnotacja wykresu linii. Zmiana, którą dokonaliśmy w linii 14.

Linia 14: To jest linia, w której się zmieniliśmy. Teraz nazywamy funkcję baru i przekazujemy w to dane x i y.

Wyjście: Python adnotation_bar_graph.py

5. Adnotacja tekstu (matplotlib.Pyplot.Annotate ()) dla wykresu rozrzutu

Możemy również dodać adnotację tekstu do wykresu rozrzutu Matplotlib.

# adnotation_scatter_plot.py
# Zaimportuj wymagane pakiety
importować matplotlib.Pyplot as Plt
importować Numpy jako NP
# Zaimportuj metodę CLF () do narysowania innego wykresu w tym samym oknie wykresu
plt.clf ()
# Dummy zestaw danych z Numpy
x_values ​​= np.Arange (0,10,1)
y_values ​​= np.losowy.normalny (loc = 2, skala = 0.5, rozmiar = 10)
plt.rozproszenie (x_values, y_values)
# Zip łączy współrzędne x i y w parach
dla x, y w zip (x_values, y_values):
label = ":.3f ”.Format (y)
plt.Annotate (etykieta, # To jest wartość, którą chcemy oznaczyć (tekst)
(x, y), # x i y to lokalizacja punktów, w której musimy oznaczyć
TextCoords = "Punkty przesunięcia",
xytext = (0,10), # to dla odległości między punktami
# i etykieta tekstowa
ha = „Center”,
ArrowProps = dict (ArrowStyle = "->", color = 'black'))
plt.pokazywać()

Powyższy kod adnotacji jest taki sam jak adnotacja wykresu linii. Zmiana, którą dokonaliśmy w linii 14.

Linia 14: To jest linia, w której się zmieniliśmy. Teraz nazywamy funkcję rozproszenia i przekazujemy w tym dane x i y.

Wyjście: Python adnotation_scatter_plot.py

6. Legenda (etykieta)

Kiedy mamy zestaw danych o różnych kategoriach i chcemy wykreślić na tym samym wykresie, potrzebujemy notacji, aby odróżnić, która kategoria należy do której kategorii. Które można rozwiązać za pomocą legendy, jak pokazano poniżej.

# Używanie_legand_labels.py
# Zaimportuj wymaganą bibliotekę
importować matplotlib.Pyplot as Plt
# X i y dane
numerOFEMP_A = [13, 200, 250, 300, 350, 400]
numerOFEMP_B = [10, 100, 150, 200, 250, 800]
Rok = [2011, 2012, 2013, 2014, 2015, 2016]
# Wykreśń wykres liniowy
plt.Wykres (rok, numerofemp_a, marker = „d”, mfc = „zielony”, mec = „żółty”, ms = „7”)
plt.Wykres (rok, numerOFEMP_B, marker = „O”, Mfc = „Red”, mec = „zielony”, MS = „7”)
# Ustaw nazwę etykiety tytułu osi x
plt.XLABEL („Rok”)
# Ustaw nazwę etykiety tytułu osi x
plt.YLABEL („Liczba pracowników”)
# Ustaw nazwę etykiety tytułu wykresu
plt.Tytuł („Liczba wzrostu V/S. Wzrost roku”)
plt.Legend (['NumberOfemp_A', 'NumberOfemp_B'])
plt.pokazywać()

Linia 7 do 8: Utworzyliśmy dwie listy danych NumberOfemp_a i NumberOfemp_B, dla osi x. Ale zarówno A, jak i B mają te same wartości osi y. Tak więc na tym wykresie udostępniamy oś x tylko dlatego, że skala osi y dla zarówno A, jak i B jest taka sama.

Linia 12 do 13: Właśnie dodaliśmy jeszcze jedną funkcję wykresu z różnymi parametrami.

Linia 16–22: Dodaliśmy etykiety do wykresu.

Linia 24: Stworzyliśmy legendę dla tych dwóch kategorii, aby można było łatwo zróżnicować dwie różne kategorie na tym samym wykresie.

Wyjście: Python za pomocą_legand_labels.py

Wniosek

W tym artykule widzieliśmy różne metody, które możemy użyć na wykresie etykiet. Widzieliśmy również, jak adnotować dane tekstowe na wykresie, dzięki czemu wykres jest bardziej profesjonalny. Następnie widzieliśmy funkcję legendy, która różnicuje różne kategorie na tym samym wykresie.