Przejdź do treści stopki
POMOC DOTYCZąCA JęZYKA PYTHON

Przewodnik po Matplotlib Python dla początkujących

Wizualizacja danych jest niezbędnym narzędziem do uzyskiwania wniosków na podstawie danych i skutecznego przekazywania wyników. Matplotlib, szeroko stosowana biblioteka do tworzenia wykresów w języku Python, zapewnia elastyczny i intuicyjny interfejs do tworzenia szerokiej gamy statycznych, interaktywnych i gotowych do publikacji wizualizacji z punktami danych. W tym artykule zagłębimy się w bibliotekę Matplotlib w języku Python, badając jej funkcje, możliwości i praktyczne przykłady, aby w pełni wykorzystać potencjał wizualizacji danych w języku Python. Poznamy również IronPDF, bibliotekę do generowania plików PDF firmy Iron Software.

Wprowadzenie do Matplotlib

Matplotlib to kompleksowa biblioteka do tworzenia wykresów 2D dla języka Python, która generuje wysokiej jakości wykresy w różnych formatach i środowiskach. Opracowane przez Johna D. Matplotlib, stworzony przez Huntera i utrzymywany przez aktywną społeczność współpracowników, w znacznym stopniu przyczynia się do wszechstronności i solidności wizualizacji danych w języku Python. Oferuje wszechstronny zestaw funkcji do tworzenia wykresów statycznych, takich jak wykresy liniowe, punktowe, słupkowe, histogramy, mapy cieplne i inne. Matplotlib obsługuje również interaktywne wizualizacje, w tym linie siatki i wykresy słupkowe, i może być używany w aplikacjach internetowych. Ponadto zapewnia precyzyjną kontrolę nad elementami wykresu, w tym osiami, etykietami, legendami, kolorami i stylami, umożliwiając użytkownikom dostosowanie wizualizacji do ich konkretnych potrzeb.

Najważniejsze cechy Matplotlib

  1. Szeroki wybór typów wykresów: Matplotlib obsługuje szeroki zakres typów wykresów, w tym wykresy liniowe, punktowe, słupkowe, histogramy, wykresy kołowe, wykresy skrzynkowe, wykresy skrzypcowe, wykresy konturowe oraz wykresy 3D. Ta wszechstronność pozwala użytkownikom na skuteczne wizualizowanie różnych typów danych i relacji.
  2. Elastyczne dostosowywanie wykresów: Matplotlib oferuje szerokie możliwości dostosowywania elementów wykresów, takich jak osie, etykiety, podziałki, kolory, znaczniki i style linii. Użytkownicy mogą dostosowywać wykresy za pomocą interfejsów zarówno proceduralnych, jak i obiektowych, co pozwala na precyzyjną kontrolę nad wyglądem wykresów.
  3. Wyniki o jakości publikacyjnej: Matplotlib generuje wysokiej jakości wykresy gotowe do publikacji, które można wykorzystać w publikacjach naukowych, raportach, prezentacjach i na stronach internetowych. Obsługuje różne formaty wyjściowe, w tym PNG, PDF, SVG i EPS. Ponadto można również tworzyć skrypty w języku Python w połączeniu z biblioteką Matplotlib w celu tworzenia interaktywnych formatów dla aplikacji internetowych.
  4. Integracja z Jupyter Notebooks: Matplotlib płynnie integruje się z Jupyter Notebooks, umożliwiając użytkownikom tworzenie interaktywnych i eksploracyjnych wizualizacji bezpośrednio w środowisku notebooków. Ta integracja ułatwia interaktywną analizę danych i procesy tworzenia narracji.
  5. Obsługa wielu backendów: Matplotlib obsługuje wiele backendów renderujących, w tym Tkinter, Qt, GTK, WX i Agg, umożliwiając użytkownikom wybór backendu najlepiej dostosowanego do ich aplikacji lub srodowiska. Ta elastyczność pozwala na wykorzystanie biblioteki Matplotlib w szerokiej gamie aplikacji desktopowych i internetowych.

Instalacja Matplotlib

pip install matplotlib
pip install matplotlib
SHELL

Praktyczne przykłady z wykorzystaniem biblioteki Matplotlib

Przyjrzyjmy się kilku praktycznym przykładom wykorzystania biblioteki Matplotlib do tworzenia typowych wizualizacji na podstawie symulowanych punktów danych. Upewnij się, że masz zainstalowaną wersję Pythona 3 lub nowszą oraz zestawy narzędzi do tworzenia graficznych interfejsów użytkownika. Zobaczmy teraz kod w języku Python:

  1. Wykres liniowy:

    import matplotlib.pyplot as plt  # Import Matplotlib
    
    # Define data points for the plot
    x = [1, 2, 3, 4, 5] 
    y = [2, 3, 5, 7, 11] 
    
    # Create a line plot
    plt.plot(x, y) 
    
    # Add labels and title
    plt.xlabel('X-axis')  
    plt.ylabel('Y-axis') 
    plt.title('Line Plot') 
    
    # Display the plot
    plt.show()  
    import matplotlib.pyplot as plt  # Import Matplotlib
    
    # Define data points for the plot
    x = [1, 2, 3, 4, 5] 
    y = [2, 3, 5, 7, 11] 
    
    # Create a line plot
    plt.plot(x, y) 
    
    # Add labels and title
    plt.xlabel('X-axis')  
    plt.ylabel('Y-axis') 
    plt.title('Line Plot') 
    
    # Display the plot
    plt.show()  
    PYTHON

Matplotlib Python (jak to działa dla programistów): Rysunek 1 – Przykładowy wykres liniowy przy użyciu Matplotlib

  1. Wykres punktowy:

    import matplotlib.pyplot as plt  # Import Matplotlib
    
    # Define data points for the plot
    x = [1, 2, 3, 4, 5] 
    y = [2, 3, 5, 7, 11] 
    
    # Create a scatter plot
    plt.scatter(x, y) 
    
    # Add labels and title
    plt.xlabel('X-axis')  
    plt.ylabel('Y-axis') 
    plt.title('Scatter Plot') 
    
    # Display the plot
    plt.show()  
    import matplotlib.pyplot as plt  # Import Matplotlib
    
    # Define data points for the plot
    x = [1, 2, 3, 4, 5] 
    y = [2, 3, 5, 7, 11] 
    
    # Create a scatter plot
    plt.scatter(x, y) 
    
    # Add labels and title
    plt.xlabel('X-axis')  
    plt.ylabel('Y-axis') 
    plt.title('Scatter Plot') 
    
    # Display the plot
    plt.show()  
    PYTHON

Matplotlib Python (jak to działa dla programistów): Rysunek 2 – Przykładowy wykres punktowy przy użyciu Matplotlib

  1. Histogram:

    import matplotlib.pyplot as plt  # Import Matplotlib
    import numpy as np  # Import NumPy for numerical operations
    
    # Generate random data
    data = np.random.randn(1000) 
    
    # Create a histogram plot
    plt.hist(data, bins=30) 
    
    # Add labels and title
    plt.xlabel('Value')  
    plt.ylabel('Frequency') 
    plt.title('Histogram') 
    
    # Display the plot
    plt.show()  
    import matplotlib.pyplot as plt  # Import Matplotlib
    import numpy as np  # Import NumPy for numerical operations
    
    # Generate random data
    data = np.random.randn(1000) 
    
    # Create a histogram plot
    plt.hist(data, bins=30) 
    
    # Add labels and title
    plt.xlabel('Value')  
    plt.ylabel('Frequency') 
    plt.title('Histogram') 
    
    # Display the plot
    plt.show()  
    PYTHON

Matplotlib Python (Jak to działa dla programistów): Rysunek 3 – Przykładowy histogram wykorzystujący Matplotlib

Korzyści wynikające z używania Matplotlib

  1. Łatwość użytkowania: Matplotlib zapewnia prosty i intuicyjny interfejs do tworzenia wizualizacji służących do eksploracji danych, dzięki czemu jest dostępny dla użytkowników na każdym poziomie zaawansowania, od początkujących po doświadczonych analityków danych.
  2. Elastyczność: Matplotlib oferuje szeroki zakres opcji dostosowywania i typów wykresów, umożliwiając użytkownikom tworzenie wysoce spersonalizowanych i dostosowanych wizualizacji, spełniających ich konkretne potrzeby.
  3. Integracja: Matplotlib płynnie integruje się z innymi bibliotekami i frameworkami języka Python, w tym NumPy, Pandas, SciPy i scikit-learn, ułatwiając usprawniony przebieg pracy przy analizie i wizualizacji danych.
  4. Społeczność i dokumentacja: Matplotlib korzysta z dużej i aktywnej społeczności użytkowników oraz współpracowników, którzy udostępniają obszerną dokumentację, samouczki i przykłady, aby wspierać użytkowników w nauce i efektywnym korzystaniu z biblioteki.
  5. Wszechstronność: Matplotlib może być wykorzystywany do różnych celów, w tym do eksploracyjnej analizy danych, wizualizacji statystycznej, tworzenia wykresów naukowych oraz grafiki prezentacyjnej, co czyni go wszechstronnym narzędziem do wizualizacji danych w języku Python.

Przedstawiamy IronPDF

Matplotlib Python (jak to działa dla programistów): Rysunek 4 – Strona główna IronPDF

IronPDF to potężna biblioteka C# przeznaczona do tworzenia, edycji i podpisywania plików PDF na podstawie HTML, CSS, obrazów i JavaScript. Oferuje wydajność na poziomie komercyjnym przy niewielkim zużyciu pamięci. Najważniejsze cechy to:

Konwersja HTML do PDF: Konwertuj pliki HTML, ciągi znaków HTML i adresy URL na pliki PDF. Na przykład, renderuj stronę internetową jako plik PDF przy użyciu renderera PDF przeglądarki Chrome.

Obsługa wielu platform: Kompatybilność z różnymi platformami .NET, w tym .NET Core, .NET Standard i .NET Framework. Obsługuje systemy Windows, Linux i macOS.

Edycja i podpisywanie: Ustawiaj właściwości, dodawaj zabezpieczenia za pomocą haseł i uprawnień oraz stosuj podpisy cyfrowe w plikach PDF.

Szablony stron i ustawienia: Dostosuj pliki PDF za pomocą nagłówków, stopek, numerów stron i regulowanych marginesów. Obsługuje responsywne układy i niestandardowe rozmiary papieru.

Zgodność ze standardami: Zgodność ze standardami PDF, takimi jak PDF/A i PDF/UA. Obsługuje kodowanie znaków UTF-8 oraz pliki takie jak obrazy, CSS i czcionki.

Generowanie dokumentów PDF za pomocą IronPDF

# Import necessary libraries
from ironpdf import *
import matplotlib.pyplot as plt 
import numpy as np 

# Create a histogram plot
data = np.random.randn(1000)
plt.hist(data, bins=30)
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')
plt.savefig('myHistogram.png')  # Save the plot as an image file

# Apply your license key
License.LicenseKey = "MyKey"

# Create a PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string containing the histogram image
content = "<h1>Awesome Iron PDF with Matplotlib</h1>"
content += "<img src='myHistogram.png'/>"
pdf = renderer.RenderHtmlAsPdf(content)

# Export the PDF to a file
pdf.SaveAs("awesome.pdf")
# Import necessary libraries
from ironpdf import *
import matplotlib.pyplot as plt 
import numpy as np 

# Create a histogram plot
data = np.random.randn(1000)
plt.hist(data, bins=30)
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram')
plt.savefig('myHistogram.png')  # Save the plot as an image file

# Apply your license key
License.LicenseKey = "MyKey"

# Create a PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string containing the histogram image
content = "<h1>Awesome Iron PDF with Matplotlib</h1>"
content += "<img src='myHistogram.png'/>"
pdf = renderer.RenderHtmlAsPdf(content)

# Export the PDF to a file
pdf.SaveAs("awesome.pdf")
PYTHON

Wyjaśnienie kodu

  1. Utwórz wykres histogramu: Podobnie jak w poprzednim przykładzie, generujemy losowe dane i rysujemy histogram.
  2. Zapisz wykres jako obraz: Wykres histogramu jest zapisywany jako plik obrazu o nazwie 'myHistogram.png'.
  3. Utwórz renderer PDF: Inicjujemy ChromePdfRenderer do obsługi tworzenia plików PDF.
  4. Konwersja ciągu znaków HTML do formatu PDF: Utwórz treść HTML zawierającą osadzony zapisany obraz, a następnie przekonwertuj ją do formatu PDF za pomocą RenderHtmlAsPdf.
  5. Zapisz PDF: Powstały plik PDF jest zapisywany metodą SaveAs.

Wynik

Matplotlib Python (jak to działa dla programistów): Rysunek 5

Licencja IronPDF

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-XXXX"
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-XXXX"
PYTHON

Wnioski

Podsumowując, Matplotlib pozostaje potężną i wszechstronną biblioteką do tworzenia wykresów, która umożliwia użytkownikom tworzenie szerokiej gamy wysokiej jakości wizualizacji w języku Python. Niezależnie od tego, czy analizujesz dane, przekazujesz wnioski, czy tworzysz interaktywne aplikacje, Matplotlib zapewnia narzędzia i elastyczność potrzebne do skutecznej wizualizacji danych i odkrywania nowych wniosków. W połączeniu z biblioteką IronPDF firmy Iron Software do zarządzania dokumentami PDF programiści mogą poszerzyć swoją wiedzę w zakresie tworzenia złożonych wizualizacji danych, aby skutecznie przekazywać dane w postaci znaczących statystyk między programistami a użytkownikami, zgodnie z celami nowoczesnych aplikacji.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie