Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python

De Lista para Gráfico: Como Representar sua Lista como Gráfico no Python

by
Length:ShortLanguages:

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Comecemos mostrando o gráfico a seguir:

Example Bar Graph

Parece familiar, não é? É um gráfico de barras. Geralmente, desenhamos usando diferentes aplicativos, como Microsoft Excel ou Word.

Se quisermos mais controle sobre o processo de criação de um gráfico, criá-lo programaticamente seria a melhor escolha.

Nesse tutorial, mostraremos como podemos criar gráficos de barras usando Python. Tudo pronto?

Quais Módulos Precisamos?

Para desenharmos um gráfico de barras, precisaremos, principalmente, de dois módulos: o módulo Image e o ImageDraw, que podem ser importados da Python Imaging Library (PIL). O módulo Image será usado para carregar uma imagem, enquanto o ImageDraw será usado para criar os gráficos 2D (ou seja, desenhar uma linha).

Por falar em PIL, seria bom instalá-lo. Porém, mostrarei como instalar o Pillow. Isso porque a versão mais recente do PIL, 1.1.7, foi lançada em 2009 e suporta apenas Python 1.5.2 à 2.7. Assim, não suporta Python 3.X e acredito que a versão de desenvolvimento foi descontinuada, já que a última atividade no projeto foi em 2011.

Pillow vem ao resgate, uma vez que é um fork do repositório PIL e conta com suporte ao Python 3.X. Assim, usaremos Pillow por aqueles que estejam usando Python 3.X. Mas não faz mal usar Pillow caso esteja usando versões anteriores do Python.

Instalando Pillow

Os passos mencionados nessa seção são para usuários de macOS, uma vez que escrevo esse tutorial usando o macOS, mas você pode seguir as instruções para seu sistema operacional na documentação.

Uma forma fácil de instalar o Pillow no Mac é através do pip, que pode ser instalado digitando o comando a seguir em sua linha de comando:

E o Pillow pode ser instalado digitando:

Construindo o Aplicativo

Vejamos os blocos base do programa, um por um. Primeiro, precisamos de uma imagem em branco onde desenharemos nosso gráfico de barras. Podemos usar essa imagem em branco.

Carreguemos essa imagem e desenhemos sobre ela. Podemos fazê-lo dessa forma:

Como desenharemos gráfico de barras, usaremos dados. E serão em forma de listas. Nossos dados (listas) podem ser assim:

Agora, tudo que precisamos é desenhar o gráfico de barras. Trataremos as barras do gráfico como linhas. Logo, usaremos o método line() de ImageDraw.

Mostraremos o código que realiza a tarefa de desenhar um gráfico de barras e o explicaremos:

Como podemos ver, iteramos sobre nossa lista e desenhamos um gráfico de barras usando os dados da lista. x = x + 30 provê-nos o espaço necessário entre cada ponto de dado no eixo x. Antes de continuarmos, quero lembrar que o ponto (0,0) na imagem é o canto esquerdo superior. Logo, será como desenhar as linhas de cabeça para baixo, o contrário do que estamos acostumados ao usar coordenadoas em gráficos.

Se virmos a última linha do script anterior, teremos essa parte draw_img.line((x,200, x,y), que seria: desenhe uma linha do ponto (x,200) ao ponto (x,y). Logo, se começarmos com o primeiro dado, 4, a linha seria criada de (34,200) até (34,196). Assim, quando mostrarmos o resultado, o eixo x parecerá que foi usado normalmente (começando e usando o canto esquerdo inferior como (0,0)). A chave aqui é usar y = 200. Como veremos, sempre teremos uma linha onde y = 200 para todos os pontos, isso dará a impressão que a usamos como base para desenhar nosso gráfico.

width representa a largura (espessura) da linha e fill=(255,0,0,255) representa a cor. Isso é, a cor no formato RGBA (uma extensão do RGB com o canal Alpha que representa opacidade).

Finalmente, visualizamos a imagem usando a declaração: img.show().

Juntando Tudo

Uma vez falado sobre a base do programa, colqouemos tudo junto e vejamos como o script fica:

Resultado

Agora, temos a parte interessante, o resultado do script. Se executarmos o programa, veremos algo parecido com isso:

Viewing a graph from the list

Cortei o topo da imagem, uma vez que a imagem original seria bem maior.

Conclusão

Como vimos no tutorial, para ter maior controle sobre tarefas comuns como desenho de gráficos a partir de algus dados, usar uma linguagem de programação (como Python) é a melhor saída.

Contudo, não precisamos realizar essas tarefas do zero, sempre. Podemos, por outro lado, lançar mão de bibliotecas, como fizemos com Pillow nesse tutorial. Usar tais bibliotecas facilitou o a parte do desenho do gráfico de barras e, ao usar Python, tivemos o controle e flexibilidade necessários para retornar o gráfico do jeito que queríamos.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.