31. marts 2021 - 01:30 Der er 3 kommentarer og
1 løsning

Bestemmelse af talrække ud fra række af tal

Jeg er ved at programmere min egen diagram-funktion (pindediagram) ved brug af canvas. Inden er at jeg fodre funktionen med et array med labels og et antal arrays med datasets.
Labels placeres så jævnt ud over x-aksen, men herefter kommer problemet så. Hvordan kan jeg ud fra en række datasets bestemme hvad der skal stå på y-aksen? Jeg kan nemt finde største og mindsteværdi for datasættene, men er i tvivl om hvad jeg kan gøre for at finde ud af en passende talrække for y-aksen.
Fx jeg har datasættet -10, 35, 48, 10, 3 umiddelbart ville det kønneste være at have tallene -10, 0, 10, 20, 30, 40, 50 eller -10, -5, 0, ... 45, 50 på y-aksen.
Et andet datasæt kunne hedde 3,5,3,2,4, og her ville det umiddelbart være kønnest med tallene 0,1,2,3,4,5 på y-aksen.
Man kunne også forestille sig meget høje tal.
Hvordan kan jeg lave en universal udregning, som finder en række pæne tal til min y-akse?
Avatar billede jakobdo Ekspert
31. marts 2021 - 13:56 #1
Uden lige at have en løsning, tænker jeg du skal ud i noget ala:

Find Min og Max værdi som du er inde på.
Så skal du finde ud af hvilken "serie" du er i..
Snakker vi:
1,2,3
5,10,15
10,20,30
50,100,150
osv...
Det må du kunne lave med en smart algoritme. :D

Du har jo den skala du skal dække, ved at tage min til max.
31. marts 2021 - 16:01 #2
Men udfordringen er at der er uendeligt mange skalaer. Man kan blive ved med at putte nuller på eller putte decimaler efter kommaet. Det jeg leder efter er universal algoritme, som ligegyldigt hvilke tal jeg putter ind, så finder en fornuftig skala.
Avatar billede jakobdo Ekspert
31. marts 2021 - 16:21 #3
01. april 2021 - 11:38 #4
Tak for hjælpen. Min løsning blev manuelt at sætte et interval, hvilket også giver mig en bedre bedre kontrol over outputtet af de forskellige diagrammer..
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

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