Python matplotlib.pyplot – jak generować wykresy? #4: Legendy w wykresach

Biblioteka matplotlib.pyplot posiada metodę legend, która umożliwia tworzenie legendy na wykresie. Generując wiele wykresów naraz, jest to niezbędna funkcjonalność.

Python matplotlib.pyplo

Python matplotlib.pyplo


Istnieją legendy, którym trzeba wierzyć. A tak na poważnie to biblioteka matplotlib.pyplot posiada metodę legend, która umożliwia tworzenie legendy na wykresie. Przy generowaniu kilku wykresów w jednym układzie współrzędnych, jest to niezbędna funkcjonalność.

Automatyczne generowanie legendy

Najprostszym sposobem na automatyczne wygenerowanie legendy jest po prostu użycie metody legend bez żadnych dodatkowych argumentów. Jednak aby legenda mogła się wygenerować, w metodzie plot() musi znaleźć się argument label, w którym w formie string’a podajemy dowolną nazwę wykresu. Dane takie jak opis, kolor czy wygląd wykresu, użyte w przy tworzeniu wykresu zostaną automatycznie umieszczone w legendzie. Poniższy przykład jest kontynuacją kodu używanego w poprzednich odsłonach serii Python matplotlib.pyplot — jak generować wykresy? Wzbogaconą o generację legendy:

import matplotlib.pyplot as pyplot
 
x = ['q', 'w', 'e', 'r']
y = [1, 2, 3, 5]
line = pyplot.plot(x, y, label='test text')
pyplot.setp(line, color='r')
pyplot.legend()
pyplot.show()

Tak prezentuje się podstawowa wersja legendy wykresu o nazwie test text. Oznaczenie jest zgodne z wyglądem wykresu – czerwona linia ciągła.

Opisy w legendzie istniejących wykresów

Opisy wykresów w legendzie można dodać nie tylko jako argument metody plot. Kolejnym sposobem jest użycie metody set_label() na obiekcie stworzonego wykresu.Wygląd w stosunku do poprzedniego wykresu się nie zmieni, ale warto wiedzieć, że posiada dwie możliwości wprowadzenia opisu:

import matplotlib.pyplot as pyplot
 
x = ['q', 'w', 'e', 'r']
y = [1, 2, 3, 5]
line = pyplot.plot(x, y)
pyplot.setp(line, color='r')
line.set_label('test text')
pyplot.legend()
pyplot.show()

Ostatni ze sposobów labelowania wykresów odbywa się bezpośrednio za pośrednictwem metody legend. W liście wpisujemy kolejno nazwy wykresów tworzonych metodami plot():

import matplotlib.pyplot as pyplot
 
x = ['q', 'w', 'e', 'r']
y = [1, 2, 3, 5]
line = pyplot.plot(x, y)
pyplot.setp(line, color='r')
pyplot.legend(['test text'])
pyplot.show()

Parametry legend

Metoda legend posiada szereg parametrów (argumentów), dzięki którym zmienimy jej wygląd lub miejsce położenia. Poniżej przestawię kilka najbardziej użytecznych:

  • loc – (string) – umiejscowienie legendy. Opisać można jednym lub dwoma słowami, opisującymi ustawienie w pionie i/lub w poziomie. Na przykład: right (po prawej i domyślnie u góry), lower center (na dole i po środku)
  • fontsize – (string) – wielkość czcionki od najmniejszej do największej: 'xx-small’, 'x-small’, 'small’, 'medium’, 'large’, 'x-large’, 'xx-large’
  • title – (string) – tytuł legendy
  • shadow – (bool) – Cień ramki

Przykład użycia powyższych parametrów: 

import matplotlib.pyplot as pyplot
 
x = ['q', 'w', 'e', 'r']
y = [1, 2, 3, 5]
line, = pyplot.plot(x, y)
pyplot.setp(line, color='r')
pyplot.legend(['test text'], loc='lower right', shadow=True, fontsize='x-large', title='test title')
pyplot.show()

W kolejnej, a zarazem ostatniej części serii Python matplotlib.pyplot – jak generować wykresy? Zaprezentuję praktycznie przykłady zastosowania biblioteki matplotlib, bazujące na większej ilości danych. Opiszę też, jak w przystępny sposób przedstawić wykres używając wcześniej zdobytej wiedzy zawartej w poprzednich odsłonach tej serii.

close

Newsletter