Archive for the ‘gnuplot’ Tag

Shell + MySQL + GNUPlot = gráficos legais

Fazem 11 meses e 1 dia que escrevi o post sobre como gerar gráficos em shell acessando um banco de dados Oracle.

Repare na coincidência do dia e mês dos 2 posts!

Então para último Dia da Liberdade de Software que participei, resolvi montar uma palestra relâmpago sobre este assunto. A ideia era mostrar que era possível gerar gráficos com dados armazenados em um banco de dados a partir do shell.

Como se tratava de um evento sobre liberdade de software, eu não poderia utilizar um banco de dados proprietário! :p Então reescrevi minha função para acessar os dados armazenados em um MySQL.

Vejam as voltas que o mundo dá… Enquanto escrevo este post a Oracle é quase dona do MySQL (falta a união européia decidir)!

Aqui é possível encontrar a versão do programa em shell acessando o MySQL. Também deixo disponível a palestra, caso tenham interesse.

Para o MySQL precisei criar uma função para extração dos dados e geração do arquivo de trabalho (em Oracle, essa execução estava dentro do próprio programa shell). A função criada no MySQL está comentada dentro do próprio .sh.

Anúncios

Shell + Oracle + GNUPlot = gráficos legais

Recentemente estava pensando na possibilidade de visualizar de forma gráfica algumas informações de meu controle financeiro. Os dados já estavam todos lá no meu banco de dados. Bastava extraí-los de forma gráfica. Precisava de uma ferramenta para isto. Queria algo livre. Como resolver?

Bom, já havia mexido com o Jasper + iReport àlgum tempo atrás. Mas fiz pouca coisa. Vamos ver se resolvo de forma rápida. Abri, tentei, perdi a paciência e desisti!

Em função do meu mestrado em andamento, tenho usado muito o Gnuplot (vejam as páginas de exemplo para terem uma idéia do potencial da ferramenta) e tenho criado alguns gráficos bem interessantes. Além disso, sou fã de carteirinha de shell script. Os dados que precisava extrair eram facilmente resolvidos com um select ridículo. Opa, espera lá, eu posso unir as ferramentas e fazer isto! Algumas horas depois estava pronto meu script gerando o gráfico que eu queria.

Gostei da solução e resolvi compartilhar aqui. Para fins didáticos, modifiquei os dados que seleciono, permitindo o uso do schema do scott (uma base de demonstração/aprendizado disponível em bancos Oracle).

Usei o exemplo com Oracle pois meus dados estão neste banco, que uso no meu dia-a-dia. Mas pode ser facilmente adaptado para outros banco de dados (MySQL ou PostgreSQL, por exemplo).

Este é o gráfico gerado pelo script. E aqui está o código do script (se preferir, baixe diretamente):

Continue lendo