Python matplotlib.pyplot – jak generować wykresy? #2: Kolorystyka i wygląd

Potrzebujesz prostego sposobu na generację wykresów przy użyciu Pythona. Z pomocą przychodzi bardzo przyjemna w użyciu biblioteka matplotlib.

Python matplotlib.pyplo

Python matplotlib.pyplo


Gdy znane z poprzedniej części serii o matplotlib.pyplot tworzenie wykresów przestaje być wystarczające, przychodzi czas na część drugą. W artykule znajdziesz informacje o tym, jak zmienić kolorystykę, wygląd i grubość wykresu, a także spis wszystkich parametrów wykresu.

Zmiana koloru

Korzystając z wiedzy, z poprzedniej części serii uzupełnij kod o metodę setp().

Pierwszym argumentem tej metody jest wykres, który będzie edytowany. W przykładzie poniżej przypisuje do zmiennej line generowany wykres, a następnie właśnie jego używam jako argument metody setp(). Kolejne argumenty to parametry, którymi możesz ingerować w wykres. Później przytoczę listę parametrów, ale na razie zajmijmy się tylko zmianą koloru:

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.show()

Jak widać na powyższym przykładzie, dodaliśmy augment color, oznaczający przypisanie koloru wykresu. Istnieje kilka możliwości przypisania wartości. Oto kilka najpopularniejszych z nich:

  • RGB – wartości kolorów czerwonego, zielonego i niebieskiego, od 0 do 1 w krotce: (0.1, 0.5, 0.3)
  • RGBA – jak powyżej wartości od 0 do 1 w krotce ale dodatkowo z przeźroczystością na końcu: (0.1, 0.5, 0.3, 0.5)
  • hex RGB – oznaczenie koloru szesnastkowym ciągiem sześciu znaków wpisanym w string rozpoczynającym się od znacznika hash: (#10abdf)
  • skrócony hex RGB – oznaczenie koloru szesnastkowym ciągiem trzech znaków wpisanym w string rozpoczynającym się od znacznika hash: (#012)
  • pierwsza litera nazw kolorów z języka angielskiego (string): 'b’ – niebieski, 'c’ – cyan, 'g’ – green , 'r’ – red, 'w’ -biały

Ja użyłem litery ‚r’ co oznacza red, a więc czerwony:

Modyfikacja wykresów

Jak możecie się domyślać na zmianie koloru, parametry, które możemy użyć, się nie kończą. Parametry dodajemy kolejno po przecinku jako argumentów, gdy używamy funkcji setp(). Alternatywą zaprezentowanego wyżej ustawienia koloru,  jest dodanie odpowiedniego string’a jako argument metody plot(). Dodatkowo zmieńmy rodzaj linii na przerywaną – linia przerywana obsługiwana jest znacznikiem duch myślników. Wygenerujmy więc  powyższy wykres używając dodatkowego argumentu w metodzie plot():

import matplotlib.pyplot as pyplot
x = ['q', 'w', 'e', 'r']
y = [1, 2, 3, 5]
lines = pyplot.plot(x, y, "r--")
pyplot.show()

Oto lista dostępnych parametrów, a jest ich całkiem sporo:

  • alpha (float) – przeźroczystość
  • clip_box (bool) – włącz/wyłącz obramowanie
  • clip_path (instancja Path) – ścieżka przecięcią z „Path”
  • color lub c (kolor dostępny w matplotlib) – zmiana koloru
  • contains (metoda testowania trafień) – funkcja oceniająca, czy wartości są w danym obrębie
  • dash_capstyle ([’butt’ | ’round’ | 'projecting’]) – styl zakończeń dla linii przerywanych
  • dash_joinstyle ([’miter’ | ’round’ | 'bevel’]) – styl zgięć wykresu dla linii przerywanych
  • dashes (on/off) – efekt rozlanego tuszu
  • label (string) – etykieta wyświetlana w legendzie
  • linestyle or ls ([ ’-’ | ’–’ | ’-.’ | ’:’ | 'steps’ | …]) – styl wyświetlanej linii
  • linewidth or lw (float) – szerokość linii
  • marker ([ '+’ | ’,’ | ’.’ | '1′ | '2′ | '3′ | '4′ ]) – znacznik linii.
  • markeredgecolor (kolor dostępny w matplotlib) – kolor krawędzi znacznika
  • markeredgewidth or mew (float) – grubość krawędzi znacznika
  • pickr (line) – linia przecinająca wykres (domyślnie pionowa)
  • pickradius (radius) – kont pod jakim ma przechodzi linia plicker
  • solid_capstyle ([’miter’ | ’round’ | 'bevel’]) – styl zakończeń dla linii ciągłych
  • solid_joinstyle (instancja matplotlib.transforms.Transform) – styl zgięć wykresu dla linii ciągłych
  • visible (bool) – włącz/wyłącz wyświetlanie linii
  • xdata (np.array) – tablica danych dla osi x
  • ydata (np.array) – tablica danych dla osi y
  • zorder (any number) – przy wielu liniach na jednym wykresie, ustawienie kolejności wyświetlania. Czym najniższe numery są generowane jako pierwsze

W kolejnej części serii Python matplotlib.pyplot – jak generować wykresy? zaprezentuję jak tworzyć znaczniki na wykresie, dzięki którym możemy wprowadzać dodatkowe informacje dotyczące wykresu.

close

Newsletter