[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