plotta diagrammet
vi kommer nu att lägga till logiken för att rita diagrammet. Låt oss definiera några konstanter först inuti funktionen drawChart()
.
här lägger vi till SVG-elementet såväl som verktygstipselementet:
vi väljer #container
– elementet och lägger till en SVG inuti den och ett g
– element för att gruppera andra SVG-element och översätta det och lämna vänster och övre marginaler. Vi lägger också till ett div
– element som kommer att innehålla vår tooltipContent
.
låt oss definiera axelskalorna och linje – /bangeneratorn nästa:
d3.scaleLinear()
kartlägger ett visst nummer inom den givna domänen till det angivna intervallet. Dessa skalor hjälper oss att hitta positionerna/koordinaterna i diagrammet för varje dataobjekt.
låt oss nu rita rutnäten (du kan hoppa över detta om du vill), X-axeln och Y-axeln samt datalinjen:
först lägger vi till en annan grupp SVG-element som innehåller rutnäten längs Y-axeln. Vi ställer in tickFormat
som tomma strängar eftersom vi inte vill ha några etiketter ritade med dem. Höjden på dessa gridlines är lika med höjden på diagrammet, men vi lägger till —
så att de dras över axisBottom
och inte under den. På samma sätt ritar vi rutnätet längs X-axeln.
därefter ritar vi de faktiska axlarna och lägger till linjevägen. Vid denna tidpunkt har du redan skapat linjediagrammet!