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 artykułe 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ę generowania PDF od 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 środowiska. 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 deweloperów): Rysunek 1 - Przykład wykresu liniowego za pomocą 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 deweloperów): Rysunek 2 - Przykład wykresu punktowego za pomocą 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 deweloperów): Rysunek 3 - Przykład histogramu za pomocą 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 deweloperów): Rysunek 4 - Strona główna IronPDF

IronPDF to potężna biblioteka C# zaprojektowana do tworzenia, edytowania i podpisywania PDF z 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 PDF.
  4. Konwertuj Ciąg HTML na PDF: Utwórz treść HTML osadzając zapisaną grafikę, a następnie przekształć ją na PDF za pomocą RenderHtmlAsPdf.
  5. Zapisz PDF: Powstały PDF jest zapisywany metodą SaveAs.

Wynik

Matplotlib Python (Jak to działa dla deweloperó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. Razem z biblioteką IronPDF od Iron Software do zarządzania dokumentami PDF, programiści mogą wzmocnić swoją wiedzę o tworzeniu skomplikowanych wizualizacji danych, aby skutecznie przekształcać dane w znaczące statystyki 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

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie