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

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

Poziom trudności
2/5

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:

  1. import matplotlib.pyplot as pyplot
  2. x = ['q', 'w', 'e', 'r']
  3. y = [1, 2, 3, 5]
  4. line = pyplot.plot(x, y, label='test text')
  5. pyplot.setp(line, color='r')
  6. pyplot.legend()
  7. 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.

Python matplotlib.pyplot   jak generować wykresy? #4   Legendy w wykresach​ image

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:

  1. import matplotlib.pyplot as pyplot
  2. x = ['q', 'w', 'e', 'r']
  3. y = [1, 2, 3, 5]
  4. line = pyplot.plot(x, y)
  5. pyplot.setp(line, color='r')
  6. line.set_label('test text')
  7. pyplot.legend()
  8. 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():

  1. import matplotlib.pyplot as pyplot
  2. x = ['q', 'w', 'e', 'r']
  3. y = [1, 2, 3, 5]
  4. line = pyplot.plot(x, y)
  5. pyplot.setp(line, color='r')
  6. pyplot.legend(['test text'])
  7. 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:

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

  1. import matplotlib.pyplot as pyplot
  2. x = ['q', 'w', 'e', 'r']
  3. y = [1, 2, 3, 5]
  4. line, = pyplot.plot(x, y)
  5. pyplot.setp(line, color='r')
  6. pyplot.legend(['test text'], loc='lower right', shadow=True, fontsize='x-large', title='test title')
  7. pyplot.show()
Python matplotlib.pyplot   jak generować wykresy? #4   Legendy w wykresach​ image

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.

Dodaj komentarz