Computação II
Aula 11
Numpy (pt.2) / Matplotlib
Ronald Souza
Instituto de Computação - UFRJ
ronaldsouza@[Link]
Numpy - buscando elementos
where()
→ [Link](): permite seleção condicional de elementos
→ É como um “if-else vetorizado” (condição aplicada a todo o array)
Sintaxe: [Link](condicao, v, f)
condicao — expr. booleana avaliada p/ cada elemento do array
v — o que retornar se a condicao for verdadeira (True)
f — o que retornar se a condicao for falsa (False)
Numpy - buscando elementos
where()
→ Também podemos usar apenas a condição!
→ Retorna os índices dos elementos que satisfazem a condição
Sintaxe: [Link](condicao)
→ Diferença fundamental: No slide anterior, é retornado um vetor de
elementos. Aqui, é retornado um vetor de índices (exemplo a seguir)
Numpy - buscando elementos
EXEMPLO 1/2
Numpy - buscando elementos
EXEMPLO 2/2
Numpy - intervalos arbitrários
(amostragem de função)
→ Às vezes, precisamos de um array onde a relação entre os
elementos não é linear.
→ Ocorre, por exemplo, se queremos amostrar pontos de uma
função.
Exemplo: Obter 100 amostras da função x2+1 no intervalo [0, 5]
Numpy - intervalos arbitrários
(amostragem de função)
Obtendo 100 amostras da
função x2+1 no intervalo
[0, 5]:
Numpy - integração numérica
→ O numpy permite calcular a área sob uma curva definida por
um conjunto de pontos discretos.
→ Função [Link](): implementa a regra do trapézio, que
aproxima a área, dividindo-a em pequenos trapézios.
→ Ideal quando o que se tem são apenas dados discretos e é
preciso estimar uma integral a partir deles.
Numpy - integração numérica
EXEMPLO
→ Integral da função
x2+1
(a mesma de antes)
no intervalo [0, 5]:
Numpy - integração numérica
→ Mas…
…e se quiséssemos integrar diretamente uma função ao
invés de um conjunto de pontos?
Numpy - integração numérica
→ Mas…
…e se quiséssemos integrar diretamente uma função ao
invés de um conjunto de pontos?
SciPy to the rescue!
SciPy
→ Biblioteca usada para computação científica
→ Diversas funcionalidades:
otimização, integração, derivação, interpolação, álgebra linear,
estatística, etc.
→ Construída sobre o NumPy
Integrando funções com o SciPy
→ [Link](): integra conjuntos de pontos
→ [Link](): integra funções matemáticas
arbitrárias
EXEMPLO
→ Integral da função
x2+1
(de novo!)
no intervalo [0, 5]:
→ quad() retorna
integral e erro
absoluto estimado.
Matplotlib
→ biblioteca para criar visualizações estáticas, animadas
e interativas em Python.
→ popular em análise de dados, computação científica e
aprendizado de máquina.
→ Altamente personalizável.
→ Gera figuras em vários formatos (ex: pdf, png, jpg)
Matplotlib - elementos básicos
→ Figure: janela ou página inteira onde tudo é desenhado. Pode
conter vários axes.
→ Axes (Eixos/Subplot): Área real do gráfico.
Contém o eixo x, eixo y, títulos, rótulos e os dados plotados.
→Uma Figure pode ter múltiplos Axes, cada um representando
um gráfico independente.
Estrutura
Figure (Figura)
Axes (Eixos)
X-axis e Y-axis
Ticks & Tick Labels:
Marcações nos eixos
Labels: Texto dos eixos x e y.
Title
Legend
Grid: Linhas opcionais
Markers: Símbolos para
pontos de dados individuais.
Lines: Conectores entre os
pontos de dados.
Matplotlib - exemplos
Nosso 1o passo é importar a biblioteca (muito usada em conjunto
com o numpy!):
Matplotlib - exemplos
Matplotlib - exemplos
Matplotlib - exemplos
Matplotlib - exemplos
Gráfico de Dispersão
Matplotlib - exemplos
Gráfico de Barras
Matplotlib - exemplos
Gráfico Torta (Pie Chart)
Matplotlib - salvando o gráfico
→ Função [Link](nome_do_arquivo, dpi=resolucao, bbox_inches='tight')
→ bbox_inches='tight': Evita que rótulos/títulos sejam cortados
EXEMPLOS:
[Link]("meu_primeiro_grafico.png", dpi=300,
bbox_inches='tight')
[Link]("meu_primeiro_grafico.pdf",
bbox_inches='tight')
Por hoje é isso!
26