Hopp til hovedinnhold
Meny

lmfaole.party / designsystem / funksjoner / Finn pene skalatrinn

  • Forside
  • Turer
  • Økonomi
  • Slides
  • finnSkalatrinn – Finn pene skalatrinn / Find nice scale ticks

    Om funksjonen

    Formål

    Beregner et sett med jevnt fordelte, "pene" tallverdier (0/20/40/60/80/100, ikke 0/17/34/51/68/85) som dekker et gitt min/maks-verdiområde - samme "nice numbers"-algoritme som D3 sin d3.ticks() og de fleste andre diagrambiblioteker bruker for Y-akse-rutenett.

    Merk: Utviklet som en del av å hente inspirasjon fra OpenBridge (https://openbridge-storybook.web.app/?path=/docs/bars-and-graphs) sine linje-/areal-/stolpediagrammer, som konsekvent viser et lyst, lesbart rutenett med tallmerkede Y-akse-linjer - noe <lm-chart-line>/<lm-chart-area>/<lm-chart-bar> manglet før denne funksjonen ble lagt til.

    Egner seg for

    • Å generere Y-akse-rutenettlinjer og -etiketter for et diagram, gitt datasettets faktiske min/maks-verdier.
    • Ethvert sted et numerisk verdiområde trenger en lesbar, jevnt delt skala - ikke bare diagramkomponentene.

    Egner seg ikke for

    • Logaritmiske skalaer - algoritmen forutsetter en lineær skala.
    • Kategoriske (ikke-numeriske) akser - se i stedet dataene sine egne etiketter direkte.

    Signatur(er)

    finnSkalatrinn(min: number, maks: number, onsketAntall?: number) => number[]

    Parameter Type Beskrivelse
    minnumberLaveste verdi som må dekkes av skalaen.
    maksnumberHøyeste verdi som må dekkes av skalaen.
    onsketAntall (valgfri)numberOmtrentlig ønsket antall trinn - algoritmen runder til nærmeste pene steglengde, så faktisk antall kan avvike litt. Standard 5.

    Returnerer: Trinnverdier i stigende rekkefølge, alltid minst én.

    import {finnSkalatrinn} from "/designsystem/funksjoner/statistikk/finn-skalatrinn/finn-skalatrinn.js";
    
    finnSkalatrinn(0, 87);
    // [0, 20, 40, 60, 80, 100]
    
    finnSkalatrinn(-100, 100);
    // [-100, -50, 0, 50, 100]

    Prøv selv

    Rediger uttrykket under - returverdien oppdateres live.

    Tilgjengelighet

    Ikke relevant i seg selv (ren logikk uten DOM), men styrker tilgjengeligheten til diagramkomponentene som bruker den - et lesbart, tallmerket rutenett gjør det raskere for alle brukere (ikke bare skjermleserbrukere, som uansett har den skjulte datatabellen) å anslå faktiske verdier visuelt.

    Referanser

    Se også:

    Brukes av:

    • designsystem/komponenter/data-visualisering/chart-line/
    • designsystem/komponenter/data-visualisering/chart-area/
    • designsystem/komponenter/data-visualisering/chart-bar/

    Avhengigheter: Ingen