Avatar billede testpilot_dk Nybegynder
27. november 2006 - 08:54 Der er 9 kommentarer og
1 løsning

Tegne egne grafer

Hej!

Jeg sidder og skal lave noget live visning af forskellige ting, til dette kunne jeg godt tænke mig at tegne grafer som indikere de enkelte niveauer.

Grafen skal tegnes live, dvs. opdateres hvert ½ sekund, jeg har kigget lidt på e.Graphics.DrawLines og det fungere da også, bortset fra at den altid tegner fra 0,0 og ud til punktet.

Hvordan undgår jeg denne ting, få så vil jeg være tilfreds med DrawLines og et array af Points.

Det skal bruges virksomhedsmæssigt, og er ikke interesseret i at købe komponenter som kan dette.
Avatar billede Syska Mester
27. november 2006 - 13:24 #1
Er ikke helt klar over hvad du vil ... men det her kan måske bruges

http://zedgraph.sourceforge.net/samples.html
Avatar billede testpilot_dk Nybegynder
27. november 2006 - 13:50 #2
Hej!

Jeg har selv kigget på denne, men tror ikke den kan hvad jeg gerne vil.

Mine ønsker er at data skal opdateres hvert ½ sekund og så tilføjes til en allerede eksisterende graf.

Når så grafen er nået til kanten af området, skal den automatisk gøre sådan at den flytter så man hele tiden kan se det nyeste data.

Håber det blev mere klart nu :)
Avatar billede Syska Mester
27. november 2006 - 14:15 #3
jahhh, mener jeg da også den Graph kan, uden at gøre helt sikker ....

Men god jagt ... har egentlig også selv haft brug for netop det du søger ...

// ouT
Avatar billede testpilot_dk Nybegynder
28. november 2006 - 09:40 #4
Graferne har jeg fået tegnet nu, men ved du hvordan man flytter et område på skærmen, sådan at det nyeste graf altid er synligt?
Avatar billede Syska Mester
28. november 2006 - 14:11 #5
Er ved et spm om at undlade de første punkter hvis der er gået mere end ex tid, og der ikke er plads mere ... hvis du altså tegner fra venstre mod højre

// ouT

Er ikke helt med på hvad du mener med at flytte et område .....
Avatar billede testpilot_dk Nybegynder
28. november 2006 - 14:31 #6
det jeg gerne vil er at man f.eks. kan se grafer for en 5 min periode, når der så er gået 5 minut, smider den det første 1 minut væk, sådan at der er plads til at tegne de næste minut osv.

Derfor forestillede jeg mig at man skulle flytte området, men man kan måske bare smide data væk og så opdatere det resterende data.

Jeg ved det ikke helt ?
Avatar billede md_craig Nybegynder
29. november 2006 - 13:11 #7
Jeg ville nok lave en klasse der håndtere en datacollection som du så kan flytte... på den kan du så bare have en "AddValue" metode... og så en række metoder der kan hente data ud for givne intervaler "GetData" eller noget, der så kunne have en række passende overloads.... i dit tilfælde skal du bare have en der tger en parameter for hvor langt til bage den skal kigge... men kunne være godt at forberede den til at kigge på et interval fra og til...

Oven på det laver du så en CustomControl hvor du tegner din graf, her kan du sætte et update interval (Benytte Timers, foretrække selv den i System.Threading, men ellers ligger der også en under System.Windows.Forms), eller du kan lade et event fra din collection fortælle din kontrol hver gang der er nye data... kommer lidt an på hvordan det helt skal fungere... hvad skal der fx ske hvis der ikke kommer nye data i 2 min?...
Avatar billede testpilot_dk Nybegynder
09. december 2006 - 15:26 #8
Hej Md_craig!

Jeg har taget det op til overvejelse og der ser fornuftigt ud, det du foreslår!
Samtidig stiller du spørgsmålet hvad der skal ske, hvis der ikke er data i et tidsrum! ja, så vil y værdien bare være 0 og forsætte som hidtil, hvis systemet ikke er startet, vil timeren heller ikke tælle og derfor ikke vise noget

Men jeg vil da prøve at indbygge det du skriver
Avatar billede testpilot_dk Nybegynder
18. januar 2007 - 16:54 #9
send et svar, hvis du er interesseret i nogle point, jeg har løst det på den måde du beskriver og det fungere ganske godt
Avatar billede md_craig Nybegynder
18. januar 2007 - 18:14 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester