Mostrando postagens com marcador graficos. Mostrar todas as postagens
Mostrando postagens com marcador graficos. Mostrar todas as postagens

PySchart: Atualizado com gráfico de linhas com suporte a mais de uma série!

Olá pessoal,

Gostaria de publicar a contribuição do colega Richard Matovu (@matrich) ao meu projeto PysChart que foi um dos meus primeiros projetos open-source envolvendo Python e computação móvel. O projeto foca em disponibilizar um pequeno framework para construção de gráficos em aplicações para dispositivos móveis Symbian S60 (Ex: N95, N73, 5800 XM, E71, etc.) 

Esta biblioteca foi construída em meados de outubro de 2008, fruto de um projeto o qual eu utilizei tal biblioteca para construção de gráficos de linha. O mais interessante é que o Richard me procurou, e ele da Uganda na África, para utilizar o framework e também fazer umas melhorias!  O resultado está lá no site oficial do projeto hospedado no Google Project, o qual você pode agora construir gráficos de linha com mais de uma série! Sensacional!



Quem quiser conhecer mais sobre o projeto e quiser utilizá-lo ou modificá-lo, visite o site oficial do projeto PySChart. Ele roda sobre o runtime do Python para celulares Symbian S60: o PyS60.

O que mais me impressiona, é a convergência de pessoas que a cultura open-source promove. Nunca se sabe quais pessoas ao redor do mundo podem estar usando coisas que você desenvolveu! E o mais legal a interação que você tem com essas pessoas. Recomendo a todos a criarem projetos se possível open-source, você pode conhecer várias pessoas e receber contribuições ao seu projeto de diversas formas! Está aí a prova!

Quem quiser saber mais sobre o depoimento do Richard sobre o PysChart, clique aqui.


Atenciosamente,

Marcel Caraciolo

Olá pessoal,

Acabei de lançar mais um update no framework PySChart (Charts for PyS60). Nesta nova versão beta 0.2, além de consertar alguns pequenos bugs do gráfico de linhas (LineChart), adicionei mais um gráfico: gráfico de barras (BarsChart). Segue um screenshot do gráfico de barras em execução:





Esse framework disponibizado em formao open-source é destinado para construção de gráficos para celulares Symbian S60 sobre a plataforma Python para S60 (PyS60).

Um dos problemas identificados na construção desses gráficos é a forma de visualização das legendas dos gráficos. Como a tela dos aparelhos móveis são bastante reduzidas, é necessário que possamos aproveitar ao máximo a tela para a exibição do gráfico. Para isto, uma solução seria construir um esquema de navegação, em que apertando alternadamente (esquerda/direita) é possível navegar entre os itens e apresentar, assim, a legenda do item em destaque. Em JavaME, utilizando um coponente denominado CustomItem ou até usando o framework de baixo nível como Canvas com tratamento de eventos é possível a solução.


Em python, isso também é possível, através do tratamento de eventos utilizando um método de resposta (callback) à eventos do teclado do aparelho móvel. Abaixo um pequeno exemplo de código demonstrando a facilidade de python para tratamento de eventos como de teclado:


import appuifw, e32, key_codes

def left():
appuifw.note("Tecla Esquerda foi pressionada")

def right():
appuifw.note("Tecla Direita foi pressionada")

def quit():
app_lock.signal()

canvas = appuifw.Canvas()
appuifw.app.body = canvas


canvas.bind(key_codes.EKeyLeftArrow,left)
canvas.bind(key_codes.EKeyRightArrow,right)

appuifw.app.exit_key_handler = quit
app_lock = e32.Ao_lock()
app_lock.wait()


O método responsável para associar qual método deve ser chamado em resposta à um determinado evento, por exemplo o pressionamento do botão Esquerda ou direita do celular é o metodo do módulo Canvas bind. Ele recebe 2 parâmetros: Um keycode (refere-se a tecla o qual vai ser tratada quando tiver algum evento associado a ela) e o método callback o qual vai ser chamado pela máquina virtual a partir do evento associado. Enfim, Pressionando as teclas esquerda ou direita, vão aparecer mensagens pop-up em seguida informando que apertou as teclas esquerda ou direita respectivamente.

Como podemos ver, é bem simples o uso de tratamento de eventos com o python! Há outras maneiras mais sofisticadas, mas esse método consegue reproduzir os casos mais comuns.
Olá pessoal,

Iniciando a saga de posts sobre alguns trabalhos pessoais que venho realizando, o primeiro a ser apresentado é um framework chamado PySChart (Charts for PyS60) . Especificamente, esse framework disponibilizado em formato open-source é voltado para construção de gráficos para celulares Symbian S60. Desenvolvido em Python (especificamente python para symbian S60 -PyS60) , o framework é composto de 3 gráficos: retas (linhas), barras e pizza.

O framework vem como uma opção para desenvolvedores mobile que precisam plotar gráficos em seus aplicativos, livrando os mesmos de desenvolverem do zero a construção dos gráficos.

Esse framework que começou por diversão, acabou se tornando um framework mais sério, o qual após alguns ajustes chegou ao estado atual.Atualmente, ele está em fase de construção, logo apenas o gráfico de linha (LineChart) está disponível (download) para uso em projetos. Ele, óbvio, é disponibilizado sobre licença Open-Source GNU (GPLv2) com todo código-fonte acessível.

Em breve, estarei adicionando os 2 outros gráficos: de barras e de pizza. Para acompanharem o andamento do mesmo, visitem a página oficial do projeto PySChart (Charts for PyS60) - http://code.google.com/p/pyschart - hospedado no Google Code. A documentação também em breve estará disponível no site do projeto.

Claro, que dúvidas, sugestões e até a possibilidade de adição de novos gráficos está aberta para todos os interessados no uso desse framework.

Acho que embora seja um framework simples, ele preenche uma lacuna no desenvolvimento de aplicativos especialmente atendendo os desenvolvedores que usam python como linguagem para codificação dos seus produtos para celulares Symbian S60.

Para que ele possa ser executado, é necessário ter o Emulador do Symbian + SDK do Python (Versão 1.4.4) (Roda apenas no Windows ) ou um celular Symbian com a máquina virtual do Python. Instruções aqui de como instalar o PyS60.


Seguem alguns screenshots do framework em ação:




PS: Para construção desse gráfico do LineChart, para a versão final, levei apenas 2 horas e meia!! Python mostrando ser intuitivo, produtivo e ágil para prototipação de aplicativos! Íncrivel!!

PS2: Gostaria de agradecer pela inspiração, ao desenvolvedor Ricardo Ogliari, responsável pelo framework - irmão em JavaME: MEChart.


[]'s
top