» »

[python] knjižnica za risanje grafov?

[python] knjižnica za risanje grafov?

mte ::

Živjo,
Recimo da imam 500.000 točk, ki bi jih želel narisati na graf, pa mi nekako ne uspe najti primerne knjižnice za tole. Še najboljše se je odrezala knjižnica matplotlib, ki graf v kolikor je linearen, nariše brez problema. Ampak čim je graf malo bolj razgiban (recimo sinus 50khz frekvence), stvar zariba. Zoom ne dela, graf je zapackan, celotno okno zmrzne za vedno.
Glede na to, da matlab stvar izpljune kot za šalo in da matplotlib priporočajo kot python knjižnico primerljivo z matlabom, sumim, da mogoče se pa jaz stvari ne lotevam pravilno. Recimo na internetu sem bral o data clippingu, vendar je vse pisano za starejše verzije te knjižnice in v moji verziji tega ni. Ali pa ne najdem.
Ali se je mogoče že kdo ubadal z risanjem take količine podatkov in bi mi lahko kaj priporočal?
hvala,
lp matej

mte ::

No danes sem malo pomislil in ugotovil da take stvari dela praktično vsak audio urejevalnik, kar se mi zdi precej bolj razširjeno in se bo mogoče kdo spomnil če je že kje videl kaj podobnega v pythonu, najbolje kakšno knjižnico...
lp matej

snow ::

Pol miljona točk? Če za vsako točko uporabiš en piksel na zaslonu, boš pobarval več kot pol zaslona če imaš resolucijo 1024x768 (=786432 pikslov).

Moraš res narisati vse točke? Kaj če narišeš npr. vsako 10to? Bo še vedno vredu graf?
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

mte ::

Ja okrog tega sem že študiral. Ampak izpuščanje podatkov že na začetku ni rešitev, ker to pomeni n-krat zmanjšano najvišjo frekvenco signala, ki bo še pravilno rekonstruirana, če vzamem samo vsako n-to točko. Kar izgubi pomen vsega.
Če pa bi najprej "narisal" graf v spomin in potem tej sliki zmanjšal resolucijo za prikaz na ekranu, pa mislim da je stvar precej drugačna, ampak tega ne znam.
hvala,
lp

kopernik ::

Nima veze s pythonom, ampak vseeno - saj lahko prikazuješ na zaslonu oz. delu zaslona samo določen del grafa, mar ne ? Skrolanje je pač osnovna funkcija raznih window-based GUI-jev.

Loki ::

ce sem prav prebral, imas tudi zoomiranje.
osnovni plot narisi kot malo bolj grob prikaz, manj tock, potem pa bolj kot zoomiras, vec tock vkljucujes, ker je pac obmocje grafa manjse.
na osnovnem grafu itak ne vidis vseh podrobnosti in je toliko tock samo zapravljanje pomnilnika in casa.
p.s. kako ves, da matlab ne uporablja data clippinga? saj je tudi interpertiran jezik, kot piton.
I left my wallet in El Segundo

Zgodovina sprememb…

  • spremenil: Loki ()

mte ::

Loki ja mislim da bo to to. Nekaj sem že poskušal v tej smeri ampak nisem popolnoma razumel kako bi to naredil. No se bom pač še malo usedel k dokumentaciji :)
hvala,
lp matej

snow ::

Recimo da imaš 10000 točk.
Najprej prikažeš range(0,10000,8) ~ tisoč točk.
Nato zoomiraš čisto na levi strani.. uporabiš recimo range(0,5000,4) .. nato na desni range(2500,5000,2).

Nekako tako sem jaz imel v mislih.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Python + pyplot] Scatter plot in barve posameznih točk

Oddelek: Programiranje
71076 (1017) Raptor F16
»

[Python + Numpy] 4D array in izbira elementov

Oddelek: Programiranje
201701 (1188) bluefish
»

Matrix multiplication program Pycuda in Mathlab

Oddelek: Programiranje
292583 (2158) Senitel
»

Python za numericno matematiko

Oddelek: Programiranje
51058 (826) majana
»

3D grafi

Oddelek: Programska oprema
72009 (2009) zaj_tam

Več podobnih tem