In deze les leer je een datavisualisatie-tool maken met staafdiagrammen voor
verschillende datasets. Je past abstractie en map
, een functie van hogere
orde, toe.
data-record
met
twee invoervelden label
en waarde
.data-record
te halen.max van lijst
rapporteur die het grootste element van de lijst
vindt.teken assen
blok. Het moet de horizontale en
verticale assen tekenen, gebaseerd op de gegeven coördinaten van x0 en
y0 en de gegeven lengte- en hoogteinformatie.
teken assen
blok dat de coördinaten van de oorsprong in globale
variabelen x-oorsprong en y-oorsprong opgeslagen worden. In de komende stappen
van dit project gaan andere blokken deze informatie gebruiken om de staven en labels goed te
plaatsen.
label
blok dat inbegrepen zit bij het startproject. Je moet
waarschijnlijk bij het Instellingen-menu () "JavaScript
extensions" aanzetten. Probeer te kijken of je de locatie en richting van de teken-sprite kan
veranderen.
label
blok geen pen neer
nodig heeft om te
schrijven. Als je pen neer
aan hebt staan bij het label
blok, krijg
je misschien ongewenste effecten. label
blok te kijken, maar als je dat doet, zie je iets
onbekends.
label
blok is geïmplementeerd met gebruik van een
Snap! JavaScript-functie
blok. Met het
JavaScript-functie
blok kunnen ervaren programmeurs
Snap! uitbreiden door nieuwe blokken te schrijven in JavaScript.
Je hoet niet te weten hoe het label
blok werkt om het te gebruiken.
Doordat het de inhoudelijke complexiteit verbergt van de gebruiker is het
label
blok een perfect voorbeeld van abstractie.
label
blok af, degene met een invoerveld voor de richting. Het
hoort exact te werken zoals het simpele label
blok, het kan alleen ook de richting van
het label bepalen. De richting van het label is gelijk aan de richting van de sprite die het label
tekent, dus door de richting van de sprite aan te passen kan je die van het label aanpassen.
label
blok moet Snap! 's conventie voor
richtingen volgen. Het volgt de wijzers van de klok alleen gaat het in plaats van 0 tot 12 van 0 tot
360. (0o omhoog, 90o rechts, 180o omlaag, 270o links).
Test je nieuwe label
met deze vier richtingen en controleer dat je het resultaat eruit
ziet als de linkerhelft van de afbeelding hieronder.
teken staaf
blok. Het moet een verticale staaf (een lijn met de
gegeven breedte en hoogte) tekenen vanaf de huidige locatie met een label onder de staaf.
maak einde van de lijn
blok te importeren van dat project maar
zorg ervoor dat "Rechte lijnuiteinden" geselecteerd is in het Instellingen-menu om rechte staven
te tekenen. Je kan hieronder zien het verschil ziet als je "Rechte lijnuiteinden" aan zet.
teken staven
blok, dat een serie van gelabelde staven moet
tekenen met een bepaalde breedte en hoogte. De serie moet links starten en doorgaan naar rechts.
Om de staven en labels goed neer te zetten heb je waarschijnlijk de globale variabelen
x-oorsprong en y-oorsprong nodig.
max van lijst
blok gebruiken. Het blok hieronder gebruikt het blok
waarde van data-record
om een lijst met alle waardes uit data-lijst te
halen.
label verticale as
blok zodat het labels onder de verticale as
zet, gebaseerd op bepaalde invoer. Voor het gemak mag je aannemen dat de labels de verticale as
altijd in 10 gelijke delen splitst (met behulp van 11 markeringen) zoals hieronder:
Staafdiagram
tekenblok met als invoer een datalijst. Bouw het blok hieronder
en vul zelf de lege vakken in.
Staafdiagram
.
CO2 Uitstoot per capita
Data
.
Land-BBP-Bevolking Data
blok te vinden.
Als je naar de inhoud kijkt, vind je een lijst van lijsten met data over het BBP
( Bruto
Binnenlands Product) en bevolkingsgrootte voor ieder land dat je hebt bestudeerd in dit
project.
Verwerk de data op een manier dat je er een staafdiagram mee kan maken met het BBP
per capita voor ieder land.
map
.