[python] Vykreslování grafů
Jakub Vojacek
jakohv na seznam.cz
Neděle Červen 3 21:25:00 CEST 2007
Takže vykreslování grafů mám už skoro hotový, zbýva doladit takový věci jako
vykreslování os, ale to bude hned. Spíš bych chtěl vylepšit rychlost
vykreslování, což je celkem zásadní problém jestliže je velký zoom a grafů
je několik. V zásadě jsem použil mechanizmus:
class Graf:
def __init__(self, funkce):
self.funkce=funkce
def spocitej(od, do, priblizeni):
#tady se počítají hodnoty "y" pro "x" ze zadaného intervalu.Aby se
některá hodnota počítala několikrát, tak je zde slovník do kterého se tyto
hodnoty ukládají. V každém vykreslování je tato funkce zavolána s patřičným
intervalem aby se nepočítali hodnoty mimo obrazovku. Ale narazil jsem na
problém že při velkém přiblížení mám body:
[1.6000000000000021, 1.6000000000000001], [1.800000000000002, 1.8],
[2.0000000000000022, 2.0], [2.2000000000000024, 2.2000000000000002],
[2.4000000000000026, 2.3999999999999999]
ale wxPython při vykreslování všechny hodnoty zaokrouhluje na celé číslo
(takže všechny body jsou [2,2]), takže se ptám jestli je rychlejší všechny
hodnoty vykreslovat, nebo před vykreslením body promazat, nebo zda vás
napadá nějaký lepší způsob ukládání hodnot. Ono pak když mám ve třeba 20000
bodů tak to fakt hodně dlouho trvá, i když se nic nepočítá...
Děkuji...
Další informace o konferenci Python