Gerando gráficos com Pylab


Autor/fonte: Danillo Souza
E-mail/Url: http://www.vivaolinux.com.br/dica/Gerando-graficos-com-Pylab
Tags: [ pylab ]



Digg del.icio.us

O Pylab é um módulo da linguagem Python que permite gerar gráficos de duas dimensões de excelente qualidade, permitindo edição interativa, animações, inúmeros tipos de gráficos diferentes, anotações em sintaxe Latex e salvamento das imagens geradas em diversos formatos diferentes. A sintaxe de criação e manipulação das imagens será familiar para quem já trabalhou com o software comercial Matlab, mas provendo muito mais capacidades, além de uma interface baseada em objetos, para quem conhece a técnica.

O Pylab permite trabalhar com diversos tipos de gráficos diferentes, entre eles: gráficos de funções, múltiplos gráficos, histogramas, funções discretas, torta, barra, etc. Fornece funções para a customização dos gráficos, podendo trabalhar com diversas fontes diferentes, cores, tamanhos de página, e muito mais. Além disso, existem funções para a manipulação e análise de imagens e sinais."

Realmente, muito útil não? (pelo menos pra mim sim, que sempre estou resolvendo problemas matemáticos com Python) "uma imagem vale mais que mil dígitos" - literalmente.

Criei um pequeno script/tutorial ilustrando o uso mais simples do módulo Pylab, mas antes você precisa instalar o módulo. Você pode instalá-lo através de um apt-get/aptitude.

Vou deixar aqui a minha instalação padrão do Python, que já fica incluída no meu script de pós-formatação:

# aptitude install ipython bpython python-pygame python-sqlite python-matplotlib python-numpy python-scipy pychecker

Quem quiser seguir a minha instalação, leva de brinde uns módulos a mais aí :D

Mas bem, vamos ver o tal script:

#! /usr/bin/env python2.5
# -*- coding:utf-8 -*-

import pylab

# função usada como exemplo
def cubo (x):
 &nbds; return x * x

# pylab.arange(inicio, fim, passo) - define um 'arranjo' com os valores de entrada.
entrada = pylab.arange(0, 20, 1)

# saida - recebe um 'arranjo' com os resultados da
# função sobre cada ítem de 'entrada'.
saida = cubo(entrada)

# pylab.plot(e, s) - 'plota' os dados de entrada e saída
# no grafico.
pylab.plot(entrada, saida)

# pylab.xlabel(s) - define o label do eixo x.
pylab.xlabel('Entrada')

# pylab.ylabel(s) - define o label do eixo y.
pylab.ylabel('Cubo')

# pylab.title(s) - define o titulo do grafico.
pylab.title('Funcao do Cubo')

# pylab.grid(boleano) - define se exibirá ou não as 'grids'
# no gráfico.
pylab.grid(True)

# pylab.show() - exibe o gráfico
pylab.show()

Agora vamos a aquela explicaçãozinha...

import pylab

Desnecessário dizer, mas aqui importamos o módulo do pylab.

# função usada como exemplo
def cubo (x):
 &nbds; return x * x

O gráfico é baseado numa ação sobre uma sequência de números, para facilitar, lembre das equações do segundo grau em que você tinha que fazer na escola e que criavam uma parábola no plano cartesiano. Considere aquela parábola desenhada no plano cartesiano como um gráfico. Pois é, a função usada pra gerar o gráfico foi a equação do segundo grau. A única diferença aqui é que formamos o gráfico aplicando uma função sobre uma lista de valores (observando o gráfico vocês entenderão de primeira). A função que iremos aplicar é essa aí, que eleva um número ao cubo.

entrada = pylab.arange(0, 20, 1)

Aqui estamos definindo a lista de valores onde aplicaremos a função (começando de 0 até 20 com passo 1, ou seja = 0, 1, 2, 3, 4, 5...). Mas por que não definimos como uma lista comum, e sim como um 'arranjo'?

O Pylab é uma biblioteca de gráficos que funciona sobre o Matplotlib, que é uma biblioteca matemática que por sua vez se baseia em NumPy (e devo dizer, NumPy é FAN-TAS-TI-CA, simplesmente maraviwonderfull, quando aprender ela legal posto um artigo) que é uma biblioteca matemática extremamente poderosa, portanto, usamos o arranjo para tratar os dados.

saida = cubo(entrada)

Aqui 'saida' está recebendo um arranjo (não uma lista um arranjo.. não se preocupe, Pylab cuidou disso pra você) com os resultados de cada valor submetido a função, como se fosse um uso da função map (ou para os Perl Mongers, um foreach no arranjo, aplicando a função e retornando o valor).

pylab.plot(entrada, saida)

Aqui estamos 'plotando', ou seja, concretizando esses dados no gráfico que será exibido.

pylab.xlabel('Entrada')
pylab.ylabel('Cubo')
pylab.title('Funcao do Cubo')

Nessas duas linhas definimos os labels que irão aparecer nos eixos X e Y (horizontal e vertical) do gráfico, e também definimos o título do gráfico(não da janela, do gráfico).

pylab.grid(True)

Dizemos que queremos que o gráfico exiba as grids (altere para False e perceba a diferença).

pylab.show()

E aqui finalmente, é onde a mágica acontece e o gráfico é exibido!

Espero que tenham gostado, apesar de simples, deu pra dar uma boa noção do que essa lib é capaz de fazer. Sempre que der vou escrever alguma coisinha por aqui.




Enviado por xKuRt em 18/05/2010 às 21:33


Avaliação

Esta publicação ainda não foi avaliada!


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

Este artigo ainda não foi comentado ou o(s) comentário(s) que foi(ram) enviado(s) a ele ainda não foi(ram) publicado(s).


Envio de comentário:




  

Terça, 02 de Setembro de 2014




Top 5 membros

Últimos membros online

Últimos membros cadastrados



Capa do livro
100 Questões Comentadas de TI (Tecnologia da Informação) - Para Concursos


Capa do livro
O Codificador Limpo


Capa do livro
Questões Comentadas de Informática para Concurso Público na Área de Tecnologia da Informação





Hostnet

IMD