[python] Vykreslování grafů

Jan Janech devel na atlas.sk
Čtvrtek Květen 24 17:49:01 CEST 2007


Ahoj

na kreslenie grafov pouzivam kniznicu matplotlib... ma front-endy pre
kopec toolkitov.. ja ju pouzivam nad pyGTK... dokaze z GUI menit
zobrazovany interval a zvacsovat/zmensovat graf

co sa tyka toho kreslenia, ja by som to na 100% robil takto:

fnc=eval('lambda x: '+funkce)
cislo=spodni_hranice
while cislo < horni_hranice:
       x=cislo
       y=fnc(cislo)
       body.append([x,y])
       cislo=cislo+preciznost

teda funkcia sa vykompiluje dopredu a nespomaluje sa zbytocne replacom a
evalom

Jakub Vojacek wrote:
> Zdravím
>  
> Začal jsem pracovat na lepším prostředí pro správu grafů v programu Math
> Atelier a potřeboval bych trochu poradit s určitými problémy (gui je
> dělané pomocí wx).
> 1) Momentálně je pracovní plocha na výkres grafů velká 1000 x 1000
> jednotek (pixelů). Akorát výpočet trvá celkem dlouhou dobu a uživatel by
> mohl potřebovat menší či větší plochu, takže se ptám jestli je dobré
> nabízet možnost jak velkou pracovní plochu mít.
> 2) Nevím jak vy byste vypočítávali body pro vykreslení grafu, ale já na
> to mám takovoutu metodu:
>  
> cislo=spodni_hranice
> while cislo < horni_hranice:
>        x=cislo
>        y=eval(funkce.replace('x',cislo))
>        body.append([x,y])
>        cislo=cislo+preciznost
>  
> Ale výpočet se mi zdá poměrně dlouhý a tak se ptám jesetli vás nenapadá
> něco efektivnějšího. Dále jakou hodnotu by měla mít proměnná preciznost
> (nebo jestli by měl mít uživatel možnost ji nastavit).
> 3) Nyní program dostává body jako souřadnice x,y a vykresluje jednotlivé
> pixely. Pochopitelně je to způsob relativně nepřehledný, protože pak
> může být na plátně jenom několik nic neříkajicích teček a proto by je
> chtělo nějak spojit. Napadlo mě spojit každé dva vedlejší body čárou ale
> pak mi došlo že to je nemožné, například kvůli grafu 1/cos(x).  Nevíte
> jaký způsob používají jiné programy?
>  
>  
> Děkuji za případné odpovědi.
>  
> Jakub Vojáček.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python



Další informace o konferenci Python