# Archived:Gráficos em PySymbian

Artigo
Por _katy_
Última alteração feita por hamishwillee em 19 Dec 2011
==Gráficos em Python==

O código abaixo gera gráficos para entrada de informação de um usuário. Inicialmente o código foi feito para desenhar três gráficos. Maiores informações sobre o código é fornecida através de comentários.

`# import modulesimport e32, appuifw,graphics # Define quit functiondef quit():    app_lock.signal()                        def draw():     # Get number of graphs    t = appuifw.query(u"Enter Number Of Graphs: (Max 9)","number")     #title of the application    appuifw.app.title = u"Graphs"     # Get range    rrng = appuifw.query(u"Maximum Range Of Graph:","number")     # Graph colors    colors = [0x0000ff,0x00ff00,0xff0000,0xffff00,0xc0c0c0,0x808040,0xff00ff,0xf0cb75,0xbe6a0e]     # Get graph prameters    y = []    n = []    for j in range(t):        (n1,y1) = appuifw.multi_query(u"Title Of Graph %d:"%(j+1),u"Height Of Graph %d:"%(j+1))        n.append(n1)        y11 = int(y1)        y.append(y11)     # Define canvas    canvas=appuifw.Canvas()    appuifw.app.body=canvas    xx,yy = canvas.size     # Scaling Graphs according to screen size    arrg = float(yy-50)    mf = arrg/rrng     # Draw x,y axis    canvas.line((20,yy-20,xx-32,yy-20), 0)    canvas.line((xx-33,10,xx-33,yy-20),0)     # Put indicator points    canvas.text((xx-34,30+(yy-40)*0.75),u"_%d"%(rrng*0.25))    canvas.text((xx-34,30+(yy-40)*0.5),u"_%d"%(rrng/2))    canvas.text((xx-34,30+(yy-40)*0.25),u"_%d"%(rrng*0.75))    canvas.text((xx-34,30),u"_%d"%(rrng))     # Draw graphs    h = 30    for i in range(t):        w=(xx-57)/t - 10        s = yy-20-mf*y[i]        canvas.rectangle((h,s,h+w,yy-20), outline=0x000000, fill=colors[i])        x11 = str(y[i])        canvas.text((h,(s-5)),u" %s"%(x11), fill=colors[i])        canvas.text((h,yy), u"%s"%(n[i]), fill=0x4b2192)        h=h+w+10draw() #the code will allow the user to exit the application when he presses the exit keyappuifw.app.exit_key_handler=quit  app_lock=e32.Ao_lock()app_lock.wait()`

## Screenshots

O código apenas parece longo, mas é muito fácil de entender. No momento em que o gráfico é desenhado um screenshot pode ser usado para salvar a imagem que o usuário deseja. Algumas imagens do código acima são mostradas abaixo.

 Number of Graphs Maximum Range
 Graph Parameters Plotted Graphs
233 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.