Neste tutorial, vamos dar início aos nossos estudos de gráficos em Python, onde iremos esmiuçar, explicar e usar os mais variados de plots e visualizações de dados.
Biblioteca Matplotlib e Módulo Pyplot
Até o momento, em nosso Curso de Programação Científica em Python, trabalhamos exaustivamente com números, arrays, matrizes e dados. Mas, em ciência, é também interessante visualizar esses dados, e a melhor e mais intuitiva maneira de fazer isso, é através dos gráficos.
Se, por acaso, já tiver tido experiência com o MATLAB, saiba que o Pyplot, um módulo do matplotlib, é extremamente semelhante e compatível com o famoso software privado.
O Matplotlib.pyplot, porém, nos fornece uma flexibilidade bem maior, pois o Python é uma linguagem bem mais poderosa e flexível, além de ser tudo gratuito e de código aberto.
Como plotar um gráfico simples: plot() e show()
Para postar um gráfico, precisamos no mínimo de um valor, um número. Porém, um único valor vai ser representado apenas por um ponto, o que não é muito útil.
Vamos, então, criar um gráfico com o conjunto de valores dessa lista: [5, 10, 21, 42 ]
Para isso, usamos o seguinte código:
import matplotlib.pyplot as plt distancias = [5, 10, 21, 42] plt.plot(distancias) plt.show()
Primeiro, importamos o módulo pyplot do matplotlib. Porém, é muito demorado ficar digitando 'matplotlib.pyplot', então vamos apelidar esse comando por plt.
Em seguida, criamos uma lista com 4 valores numéricos, que representam as distâncias de corridas de rua mais comuns.
Depois, usamos a função mais simples para se criar uma figura, o plot(), que é extremamente versátil e poderosa. Vamos começar devagar, primeiro vamos só passar a lista para ela. Pronto, o plot já foi gerado.
Para exibir, invocamos a função show(), agora é só rodar e vemos o gráfico abaixo:
Ele pegou os pontos de coordenadas: (0.0, 5), (1.0, 10), (2.0, 21) e (3.0, 42)
E uniu os pontos com uma linha. Bem simples, não?
Note que no eixo x, ele começou a contagem a partir do 0. E se quisermos que apareça, no eixo x, os valores 1, 2, 3 e 4? Basta criarmos um conjunto de valores para o eixo x:
import matplotlib.pyplot as plt y = [5, 10, 21, 42] x = [1, 2, 3, 4] plt.plot(x,y) plt.show()
Renomeamos os eixos para y e x para melhor entenderem a ordem correta que vai no plot.
Esses valores, inclusive, podem até ser strings:
import matplotlib.pyplot as plt y = [5, 10, 21, 42] x = ['Cinco', 'Dez', 'Meia-maratona', 'Maratona'] plt.plot(x,y) plt.show()
Mas, lembre-se: para cada valor de y, devemos ter um valor de x. Ou seja, são lista ou arrays de mesma dimensão.
Se quiser o plot apenas com os pontos, sem a linha ligando-os, passe 'o' como argumento:
import matplotlib.pyplot as plt y = [5, 10, 21, 42] x = ['Cinco', 'Dez', 'Meia-maratona', 'Maratona'] plt.plot(x,y, 'o') plt.show()
Você pode até substituir esse ponto (dot) por outro caractere, como asterisco:
plt.plot(x,y, '*')
Como plotar uma função trigonométrica
O gráfico anterior tem, tecnicamente, um problema: são poucos pontos. O gráfico fico 'pobre' de informações. O ideal é ter, no mínimo, dezenas de pontos para visualizarmos melhor um gráfico de verdade.
Por exemplo, vamos criar um array com mil números, que vão de 0 até 4pi. Vamos colocar esses valores no eixo x. Fizemos isso através da função linspace()
Para cada valor desse, vamos calcular seu seno. Por fim, plotamos esses valores:
import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 4*np.pi, 1000) y = np.sin(x) plt.plot(x,y)
E o resultado é:
Ou seja, essa é a função seno, no intervalo de 0 até 4pi (dois ciclos). Esse gráfico é bem mais realista, pois utilizamos muitos pontos.
Nenhum comentário:
Postar um comentário