Introducció
Matplotlib és una biblioteca de Python per a la creació de visualitzacions estàtiques, animades i interactives. És una eina essencial per a la ciència de dades, ja que permet crear gràfics de manera senzilla i personalitzable. En aquesta secció, aprendrem a utilitzar Matplotlib per a visualitzar dades de diverses maneres.
Instal·lació
Abans de començar, assegura't de tenir Matplotlib instal·lat. Pots instal·lar-lo utilitzant pip:
Conceptes Bàsics
Importació de Matplotlib
El primer pas és importar la biblioteca. La convenció és importar matplotlib.pyplot
com plt
:
Creació d'un Gràfic Senzill
Comencem amb un exemple senzill de com crear un gràfic de línies:
import matplotlib.pyplot as plt # Dades x = [1, 2, 3, 4, 5] y = [2, 3, 5, 7, 11] # Crear el gràfic plt.plot(x, y) # Afegir títol i etiquetes plt.title('Gràfic de Línies') plt.xlabel('X') plt.ylabel('Y') # Mostrar el gràfic plt.show()
Components d'un Gràfic
Un gràfic de Matplotlib té diversos components clau:
- Figure: L'objecte principal que conté un o més subgràfics.
- Axes: L'àrea on es dibuixa el gràfic (pot haver-hi múltiples axes en una figure).
- Axis: Els eixos x i y.
- Artist: Tot el que es dibuixa en un gràfic (línies, textos, etiquetes, etc.).
Tipus de Gràfics
Gràfics de Línies
Els gràfics de línies són útils per mostrar tendències al llarg del temps.
import matplotlib.pyplot as plt # Dades x = [0, 1, 2, 3, 4] y = [0, 1, 4, 9, 16] # Crear el gràfic de línies plt.plot(x, y, label='Quadrat de X') # Afegir títol i etiquetes plt.title('Gràfic de Línies') plt.xlabel('X') plt.ylabel('Y') plt.legend() # Mostrar el gràfic plt.show()
Gràfics de Barres
Els gràfics de barres són útils per comparar diferents categories.
import matplotlib.pyplot as plt # Dades categories = ['A', 'B', 'C', 'D'] values = [4, 7, 1, 8] # Crear el gràfic de barres plt.bar(categories, values) # Afegir títol i etiquetes plt.title('Gràfic de Barres') plt.xlabel('Categories') plt.ylabel('Valors') # Mostrar el gràfic plt.show()
Gràfics de Dispersió
Els gràfics de dispersió són útils per mostrar la relació entre dues variables.
import matplotlib.pyplot as plt # Dades x = [5, 7, 8, 7, 2, 17, 2, 9, 4, 11, 12, 9, 6] y = [99, 86, 87, 88, 100, 86, 103, 87, 94, 78, 77, 85, 86] # Crear el gràfic de dispersió plt.scatter(x, y) # Afegir títol i etiquetes plt.title('Gràfic de Dispersió') plt.xlabel('X') plt.ylabel('Y') # Mostrar el gràfic plt.show()
Gràfics de Pastís
Els gràfics de pastís són útils per mostrar la proporció de diferents categories.
import matplotlib.pyplot as plt # Dades labels = ['A', 'B', 'C', 'D'] sizes = [15, 30, 45, 10] # Crear el gràfic de pastís plt.pie(sizes, labels=labels, autopct='%1.1f%%') # Afegir títol plt.title('Gràfic de Pastís') # Mostrar el gràfic plt.show()
Personalització de Gràfics
Estils de Línia i Marcadors
Pots personalitzar l'estil de les línies i els marcadors en els gràfics de línies.
import matplotlib.pyplot as plt # Dades x = [0, 1, 2, 3, 4] y = [0, 1, 4, 9, 16] # Crear el gràfic de línies amb estils personalitzats plt.plot(x, y, linestyle='--', marker='o', color='r') # Afegir títol i etiquetes plt.title('Gràfic de Línies Personalitzat') plt.xlabel('X') plt.ylabel('Y') # Mostrar el gràfic plt.show()
Subgràfics
Pots crear múltiples subgràfics en una sola figura utilitzant subplot
.
import matplotlib.pyplot as plt # Dades x = [0, 1, 2, 3, 4] y1 = [0, 1, 4, 9, 16] y2 = [0, 1, 8, 27, 64] # Crear subgràfics plt.subplot(1, 2, 1) plt.plot(x, y1) plt.title('Quadrat de X') plt.subplot(1, 2, 2) plt.plot(x, y2) plt.title('Cúbic de X') # Mostrar els subgràfics plt.show()
Exercicis Pràctics
Exercici 1: Gràfic de Línies
Crea un gràfic de línies que mostri la funció y = x^2
per a x
entre 0 i 10.
Solució
import matplotlib.pyplot as plt # Dades x = list(range(11)) y = [i**2 for i in x] # Crear el gràfic de línies plt.plot(x, y) # Afegir títol i etiquetes plt.title('Funció y = x^2') plt.xlabel('X') plt.ylabel('Y') # Mostrar el gràfic plt.show()
Exercici 2: Gràfic de Barres
Crea un gràfic de barres que mostri les vendes de quatre productes diferents.
Solució
import matplotlib.pyplot as plt # Dades products = ['Producte A', 'Producte B', 'Producte C', 'Producte D'] sales = [50, 75, 30, 90] # Crear el gràfic de barres plt.bar(products, sales) # Afegir títol i etiquetes plt.title('Vendes per Producte') plt.xlabel('Productes') plt.ylabel('Vendes') # Mostrar el gràfic plt.show()
Exercici 3: Gràfic de Dispersió
Crea un gràfic de dispersió que mostri la relació entre l'alçada i el pes de 10 persones.
Solució
import matplotlib.pyplot as plt # Dades heights = [150, 160, 170, 180, 190, 200, 210, 220, 230, 240] weights = [50, 55, 60, 65, 70, 75, 80, 85, 90, 95] # Crear el gràfic de dispersió plt.scatter(heights, weights) # Afegir títol i etiquetes plt.title('Relació entre Alçada i Pes') plt.xlabel('Alçada (cm)') plt.ylabel('Pes (kg)') # Mostrar el gràfic plt.show()
Resum
En aquesta secció, hem après a utilitzar Matplotlib per a crear diversos tipus de gràfics, incloent gràfics de línies, barres, dispersió i pastís. També hem vist com personalitzar aquests gràfics i com crear subgràfics. Els exercicis pràctics proporcionats t'ajudaran a consolidar els coneixements adquirits. Ara estàs preparat per utilitzar Matplotlib per a visualitzar les teves dades de manera efectiva.
Curs de Programació en Python
Mòdul 1: Introducció a Python
- Introducció a Python
- Configuració de l'Entorn de Desenvolupament
- Sintaxi de Python i Tipus de Dades Bàsics
- Variables i Constants
- Entrada i Sortida Bàsiques
Mòdul 2: Estructures de Control
Mòdul 3: Funcions i Mòduls
- Definició de Funcions
- Arguments de Funció
- Funcions Lambda
- Mòduls i Paquets
- Visió General de la Biblioteca Estàndard
Mòdul 4: Estructures de Dades
Mòdul 5: Programació Orientada a Objectes
Mòdul 6: Gestió de Fitxers
- Lectura i Escriptura de Fitxers
- Treballant amb Fitxers CSV
- Gestió de Dades JSON
- Operacions amb Fitxers i Directoris
Mòdul 7: Gestió d'Errors i Excepcions
Mòdul 8: Temes Avançats
- Decoradors
- Generadors
- Gestors de Context
- Concurrència: Fils i Processos
- Asyncio per a Programació Asíncrona
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb unittest
- Desenvolupament Guiat per Proves
- Tècniques de Depuració
- Ús de pdb per a la Depuració
Mòdul 10: Desenvolupament Web amb Python
- Introducció al Desenvolupament Web
- Conceptes Bàsics del Framework Flask
- Construcció d'APIs REST amb Flask
- Introducció a Django
- Construcció d'Aplicacions Web amb Django
Mòdul 11: Ciència de Dades amb Python
- Introducció a la Ciència de Dades
- NumPy per al Càlcul Numèric
- Pandas per a la Manipulació de Dades
- Matplotlib per a la Visualització de Dades
- Introducció al Machine Learning amb scikit-learn