domingo, 22 de dezembro de 2013

Bonecada

Acabámos de ver como podemos usar o módulo turtle para resolver um problema de visualização de um gráfico de barras. Notámos várias dificuldades que procurámos resolver de modo mais ou menos satisfatório. Do exercício resulta a ideia de gráficos em Python são um tormento. Nada de mais errado. O que precisamos é usar a ferramenta certa. É o que vamos fazer agora mostrando como podemos resolver o mesmo problema usando o módulo matplotlib.

Comecemos pelo exemplo básico.
01.import random
02.import matplotlib.pyplot as plt
03. 
04. 
05.def gera(n):
06.    return [random.randint(1,6) + random.randint(1,6) for i in range(n)]
07. 
08.def histograma(dados):
09.    plt.hist(dados,11)
10.    plt.show()   
11.     
12.if __name__ == '__main__':
13.    dados = gera(5000)
14.    histograma(dados)
Correndo o programa aparece-nos a bela imagem seguinte.
Fantástico, não é. Mas ainda podemos introduzir um pouco de cosmética...
1.def histograma(dados):
2.    plt.title('Dados = ' + str(len(dados)))
3.    plt.xlabel('Resultado')
4.    plt.ylabel('Frequência')
5.    plt.hist(dados,11,color='red')
6.    plt.show() 
... para obter um resultado diferente!
E a Lei dos Grandes Números? ainda se lembra?
Usar o matplotlib é mais simples ... e bem mais rápido! Claro que também o podemos usar para outro tipo de gráficos. Por exempo, o gráfico de uma função y=f(x).
1.def grafico(x,y):
2.    plt.title('y=f(x)')
3.    plt.xlabel('x')
4.    plt.ylabel('y')
5.    plt.plot(x,y,'go-')
6.    plt.show()
E obtemos com esta configuração o resultado:
As possibilidades do matplotlib são imensas. O manual recente do módulo pode ser obtido em Manual

Divirta-se.

Sem comentários:

Enviar um comentário