UNIVERSIDADE DE BRASÍLIA Introdução ao Matplotlib (Python) Curso Análise de Sinais Prof. George Sand França Estagiário: Cristobal Condori Brasília, 2015 Matplotlib O módulo matplotlib (MPL) é voltado para a geração de gráficos bi-dimensionais (2D) de vários tipos, e se presta para utilização tanto interativa quanto em scripts, aplicações web ou integrada a interfaces gráficas (GUIs) de vários tipos (http://matplotlib.org/). GERAÇÃO DE GRÁFICOS ● Permite a visualização de dados 2D seguindo o estilo do MATLAB. ● Gráficos de qualidade para publicações. ● Exporta para diversos formatos. ● Posibilidade de embutir em insterfaces gráficas. Galeria do Matplotlib http://matplotlib.org/gallery.html GERAÇÃO DE GRÁFICOS Para geração de gráficos é necessário importar o módulo matplotlib.pyplot e numpy. >>> import matplotlib.pyplot as plt Módulos do Python >>> import numpy as np >>> x = np.arange (0.0, 6.0, 0.1) >>> plt.plot(x, [x**2 for x in x]) [<matplotlib.lines.Line2D object at 0x7f98a5c0c0d0>] >>> plt.show() Configuração inicial Move o gráfico Salva como figura zoom Configuração subplots Códigos (string) Matplotlib Operadores Aritméticos Operadores Lógicos + → soma > → maior – → subtração = → maior ou igual * → multiplicação <= → menor ou igual / → divisão == → igual // → divisão de inteiros != → diferente ** → potenciação not → negação % → módulo (resto da divisão) and → conjunção or → disjunção Códigos (string) Matplotlib Cor Caractere Tipo da linha Caractere Linha cheia '-' '--' ' -. ' ':' Azul 'b' Verde 'g' Vermelho 'r' Linha traço-ponto Ciano 'c' Linha pontilhada Magenta 'm' Amarelo 'y' Preto 'k' Branco 'w' Linha tracejada Códigos (string) Matplotlib Tipo do Marcador Caractere Ponto '.' ',' 'o' 'v' '^' '<' '>' '1' '2' Pixel Círculo Triângulo Triângulo Triângulo Triângulo Y para abaixo Y para cima Tipo do Marcador Caractere Y para a esquerda '3' '4' 's' 'p' '*' 'h' 'H' '+' 'x' 'D' 'd' '|' '_' Y para a direita Quadrado Pentágono Estrela Hexágono Hexágono Sinal de mais Sinal cruzado Losango largo Losango estreito Linha vertical Linha horizontal #!/bin/python import numpy as np import matplotlib.pyplot as plt Exemplo de um gráfico utilizando os diferentes códigos reconhecidos para a string de formatação na x1 = np.linspace(0.0, 5.0) especificação da cor, tipo da linha e x2 = np.linspace(0.0, 2.0) y1 = np.cos(3 * np.pi * x1) * np.exp(-x1) forma de marcar os pontos. y2 = np.cos(5 * np.pi * x2) Plt.figure(1) # a primeira janela plt.subplot(2, 2, 1) # o primeiro gráfico na primeira plt.plot(x1, y1, 'r*-') plt.ylabel('Damped oscillation') plt.subplot(2, 2, 2) plt.plot(x2, y2, 'b.-') plt.xlabel('time (s)') plt.ylabel('Undamped') # o segundo gráfico na primeira plt.subplot(2, 2, 3) # o terceiro gráfico na primeira plt.plot(x1, y1, 'co--') plt.ylabel('Damped oscillation') plt.subplot(2, 2, 4) plt.plot(x2, y2, 'mv-') plt.xlabel('time (s)') plt.ylabel('Undamped') plt.show() # o quarto gráfico na primeira http://matplotlib.org/examples/index.html