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
