Matplotlib
logo
Ilustracja
Zrzut ekranu z wykresów i kodu Matplotlib
Autor John D. Hunter
Pierwsze wydanie 2003[1]
Aktualna wersja stabilna 3.11.0
(12 czerwca 2026) [±]
Język programowania Python
System operacyjny Wieloplatformowy
Rodzaj Biblioteka do tworzenia wykresów
Licencja Licencja Matplotlib
Strona internetowa

Matplotlib – biblioteka służąca do tworzenia wykresów i wizualizacji danych dla języka Python oraz jego rozszerzenia numerycznego NumPy. Biblioteka oferuje interfejs API „pylab”, zaprojektowany w taki sposób, aby odwzorowywać funkcjonalność znaną ze środowiska MATLAB, co ułatwia naukę użytkownikom tego narzędzia.

Matplotlib został pierwotnie napisany i rozwijany głównie przez Johna D. Huntera. Obecnie jest rozwijany przez społeczność i dostępny na licencji kompatybilnej z licencjami BSD, co umożliwia jego szerokie i elastyczne wykorzystanie zarówno w projektach naukowych, edukacyjnych, jak i komercyjnych[1].

Przykład: Wykres 2d

edytuj

Podstawowy kod wykresu

edytuj

Poniżej podano najprostszy kod do rysowania wykresów.

import numpy as np
import matplotlib.pyplot as plt

# dane
x = np.linspace(0, 12, 1000)
y1 = np.sin(x)
y2 = 0.5*np.cos(x)

# wykresy
plt.plot(x, y1, label="sin(x)")
plt.plot(x, y2, label="0.5*cos(x)")

plt.title("Wykresy funkcji")
plt.xlabel("x")
plt.ylabel("y")
plt.grid()
plt.legend()
plt.show()
Przykład wykonania prostych wykresów dwóch funkcji w Python. Całość kodu z podanymi tu dodatkowymi opcjami znajduje się w opisie grafiki (trzeba kliknąć na tę grafikę, następnie kliknąć w napis Więcej szczegółów, który jest u dołu okna z opisem grafiki).

W linii 1 importowana jest biblioteka numpy i przypisany zostaje jej alias (skrót) np

W linii 2 importowany jest moduł pyplot z biblioteki Matplotlib i przypisany zostaje jej alias plt(moduł to część biblioteki).

W linii 5 tworzona jest zmienna tablicowa x, która zawiera 1000 wartości zmiennej x w zakresie od 0 do 12 (wartości te można ustalać dowolnie): funkcja numpy.linspace() zwraca jednowymiarową tablicę liczb zmiennoprzecinkowych.

W linii 6 tworzona jest tablica wartości funkcji y1: funkcja np.sin(x) działa na każdy element tablicy x niezależnie, obliczając wartości funkcji y1 = sin(x).

W linii 7 tworzona jest tablica wartości funkcji y2: funkcja 0.5*np.cos(x) działa na każdy element tablicy x niezależnie, obliczając wartości funkcji y1 = 0.5*cos(x)

W linii 10 funkcja plot z modułu pyplot tworzy w pamięci wykres funkcji y1.

W liniach 13, 14, 15 tworzone są: tytuł wykresu, opisy osi x i y.

W linii 17 tworzona jest siatka prostokątna wykresu.

W linii 18 tworzona jest legenda.

W linii 19 wykres i jego wszystkie elementy wyświetlane są na ekranie.

Inne parametry:

edytuj

1. Wielkość czcionki w tytule i w opisach osi x i y można zmieniać za pomocą atrybutu fontsize:

plt.title("Wykresy sin(x), cos(x), suma" , fontsize=20)

plt.xlabel("x", fontsize=14)

plt.ylabel("y", fontsize=14)

2. Opisy osi (ustalenie, co ile jednostek mają być liczby na osi) oraz wielkość czcionki

plt.xticks(np.arange(0, 12.1,3), fontsize=16)    # liczby na osi x

plt.yticks(np.arange(-1, 1.1, 0.5), fontsize=16) # liczby na osi y

3. Położenie legendy oraz wielkość czcionki

plt.legend(loc="upper right", fontsize=18)

4. Jednakowe skalowanie osi (potrzebne np. gdy rysuje się okręgi - por. równania parametryczne)

plt.axis('equal')

5. Wpisanie wartości aktualnych zmiennych w opisach wykresu (np. w tytule, legendzie)

plt.title(f"Krzywe Lissajous a={a}, b= {b}")

Eksport do pliku typu svg

edytuj

Eksport do pliku typu svg, jaki zaleca Wikimedia Commons:

plt.savefig("Przyklad_wykresu.svg", format="svg", bbox_inches="tight")

Przykład: Wykres 3d

edytuj

Poniżej znajduje się kod rysujący Funkcję Rosenbrocka:

Funkcja Rosenbrocka narysowana za pomocą biblioteki Matplotlib (kod poniżej)


from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
from matplotlib.colors import LogNorm
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1], projection='3d', auto_add_to_figure=False)
ax.azim = -128
ax.elev = 43

s = .05
X = np. arange(-2, 2.+s, s)
Y = np. arange(-1, 3.+s, s)
X, Y = np. meshgrid(X, Y)
Z = (1.-X)**2 + 100.*(Y-X*X)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, norm=LogNorm(), cmap=cm.jet)

ax.set_xlabel("x")
ax.set_ylabel("y")

fig.add_axes(ax)
plt.show()

Konkurencyjne rozwiązania

edytuj

Przypisy

edytuj
  1. a b License – Matplotlib [online], matplotlib.org [dostęp 2025-07-05].

Linki zewnętrzne

edytuj

📚 Artikel Terkait di Wikipedia

Transformacja Fouriera

oraz modułu. import numpy as np from scipy.integrate import quad import matplotlib.pyplot as plt ''' Definicja funkcji f(t)=t def f(t): if np.abs(t) < 1:

Python

PyCharm, IDLE, eric3, Boa Constructor, Stani's Python Editor, Wing IDE Matplotlib – biblioteka służąca do tworzenia wykresów Guido VanG.V. Rossum Guido

Krzywa Lissajous

numpy i matplotlib, które udostępniają online np.Jupyter Notebook(inne języki) czy Google Colab(inne języki). import numpy as np import matplotlib.pyplot

Spirala logarytmiczna

znaku parametrów b , n {\displaystyle b,n} . import numpy as np import matplotlib.pyplot as plt # parametry a1 = 0.1 a2 = 0.15 b = 0.2 n = 3 theta = np

Wykres skrzypcowy

Vioplot dla Staty Wykres Violinplot z szerokiego zestawu danych przy użyciu biblioteki wizualizacji statystycznej Seaborn opartej na bibliotece matplotlib

Złota spirala

znaku parametrów b , n {\displaystyle b,n} . import numpy as np import matplotlib.pyplot as plt # Dane: b = 0.306349 # parametr 'b' dla złotej spirali a

Sieć asocjacyjna

colab google dostępny online. import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation from IPython.display import

Szereg Fouriera

funkcji aproksymujacej, rysuje wykres widma import numpy as np import matplotlib.pyplot as plt from scipy.integrate import quad # Parametry L = np.pi #