, opbygge en multilinje, figur ved hjælp af d3. er,,,,, 161,,,,,,,,, 22,,,,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet bygning et multilinje, figur med d3.js.building en multilinje, figur med d3.js: 2, d3.js er en vidunderlig javascript bibliotek, som anvendes til at oprette interaktive og visuelt indbydende grafik., d3.js, står for data drevet dokumenter og anvendelsesformål:, perspektivgruppen og forskning, til at køre sin magi.fra den officielle varer,,, d3, er, er en javascript bibliotek for at manipulere med dokumenter på grundlag af data. , d3, hjælper du med data til liv med: perspektivgruppen og ccs.d3 er lagt vægt på web - standarder giver dig den fulde kapacitet af moderne browsere uden at binde dig til et beskyttet ramme, hvor magtfuld visualisering komponenter og en data-driven tilgang til dom manipulation.,, denne forelæsning vil være en indledende forelæsning om d3.js, hvor vi vil fokusere på nogle grundlæggende ting, til at skabe en dynamiske figur. langs i løbet af denne forelæsning, vil vi se, hvordan der kan skabes en multilinje, kort efter d3.js bibliotek.,, begyndt at få begyndt at arbejde med d3.js, downloade og omfatter d3.js, eller du kan direkte forbindelse til den seneste udgave af d3. js,.,, < manuskript src = "http://d3js.org/d3.v3.min.js" charset = "utf - 8" > < /manuskript >, starter vi med at skabe den x - og y - akse i vores kort.vi skal bruge en stikprøve data til at planlægge den journal.,, at akser, her er den grundlæggende skelettet hmtl kode af index.html:,, < http: //lang = ", en" > < head > < forbindelse href = "http://getbootstrap.com/dist/css/bootstrap.min.css" og = "stylesheet" > < forbindelse href = "http://getbootstrap.com/examples/justified-nav/justified-nav.css" rel = "stylesheet" > < manuskript src = "http://d3js.org/d3.v3.min.js" charset = "utf - 8" > < /manuskript > < /head > < krop > < div klasse = "containere" > < div klasse = "går" > < /div > < /div > < /organ > < /html >,, at komme i gang, vi vil kræve en stikprøve data.her er vores prøve data:,, var data = [{"salg": "202", "år": "år 2000"} {"salg": "215", "år": "2001"} {"salg": "179", "år": "2002"} {"salg": "199", "år": "2003"} {"salg": "134", "år": "2003"} {"salg": "176", "år": "2010")], dimensionerbare vector graphics (perspektivgruppen) er en xml - baseret billedformat til tegning 2d, grafik, som har støtte til interaktivitet og informationstiltag.vi skal bruge en, perspektivgruppen element for at drage vores figur.tilføje, perspektivgruppen element i , index.html:,, < perspektivgruppen id = "visualisering" bredde = "1000" højde = "500" > < /perspektivgruppen >,, lad os definere visse konstanter, bredde, højde, venstre margen, osv., som vi bruger og samtidig skabe figuren.d3 giver en metode kaldet, d3, udvælge, at udvælge et element.vi bruger d3.select til at udvælge, perspektivgruppen element fra , index.html,.,, var vis = d3. vælg ("# visualisering"), bredde = 1000, højde = 500, margener = (top: 20: 20, nederst: 20, venstre: 50},,, på grundlag af de oplysninger, vi har brug for at skabe skalaer for x - og y - akse.vi skal kræve, at den maksimale og minimale værdi af de data, der er til rådighed til at skabe de skalaer for akser.d3 er en api - metode d3.scale.linear som vi kan bruge til at skabe skalaer for akserne.,,, d3.scale.linear, har to egenskaber, rækkevidde og område for at skabe den skala.), definerer det areal, der er til rådighed for at gøre figur og område, fastlægger den maksimale og minimale værdier, vi har til at planlægge på den plads, der er til rådighed, xscale = d3. plan. linear(). rækkevidde ([margins.left, bredde - margener. ret]). område ([20002010]),,,, rækkevidde, er specificeret i ovennævnte kode, så det ikke bliver overfyldt i kanterne.højeste og laveste værdier for det område, er blevet fastsat på grundlag af prøven anvendte data., ligeledes fastlægge, yscale, som vist:,, yscale = d3. plan. linear(). rækkevidde ([højde - margins.top, margener. bunden]) område ([134215]),,, - er skabe akser med de vægte, som defineret i denne kode., d3, giver en api - metode d3.svg.axis at skabe akser.,, xaxis = d3. perspektivgruppen. axis(). plan (xscale), yaxis = d3. perspektivgruppen. axis(). plan (yscale), næste, vedlægges den skabte x akse, perspektivgruppen, beholder som vist:, vis. tilføj ("perspektivgruppen: g"). (xaxis);,, redde de ændringer og forsøge at browse index.html,.du skal have noget lignende:,,,,,, som du kan se, x - aksen er trukket, men det har nogle spørgsmål.først skal vi holdning den vertikalt nedad.samtidig tilføjer x - aksen for perspektivgruppen beholder, kan vi bruge omdanne ejendom, at flytte akse i nedadgående retning.vi bruger, oversætte ændre, at flytte akse baseret på koordinater.eftersom vi er nødt til at flytte x - aksen kun i nedadgående retning, vil vi give de omdanne koordinater for x - aksen som 0, og y - aksen lige over margen. , vis. både ("perspektivgruppen: g"). attr ("gøre", "oversætte (0, + (højde - margener. forneden) +") ("). xaxis);,, lad os tilføje y - aksen.der tilføjes følgende kode vedlægge y - aksen for perspektivgruppen beholder:, vis. både ("perspektivgruppen: g"). (yaxis);,, redde de ændringer og browse., og du skal have begge akser, som vist.,,,,,, som du kan se på skærmen ovenfor skudt., y - aksen, ikke er i korrekt position.så, er vi nødt til at ændre, orientering af de ovenfor vist, y - aksen til venstre.når den akse, er i overensstemmelse med den venstre side, vil vi anvende d3 gør, at det korrekt sammen med x - aksen.tilføje, orient, ejendomsret til, yaxis, til at ændre sin orientering.,, yaxis = d3. perspektivgruppen. axis(). plan (yscale). orient ("venstre"), anvendes, d3, transformere, mens du prøver at sætte de, y - akse, perspektivgruppen beholder:, vis. tilføj ("perspektivgruppen: g"). attr ("gøre", "oversætte" (+ (marginer. venstre) + "0"). (yaxis), har vi holdt y koordinere af oversætte som 0, da vi kun ville flytte den vandret.redde de ændringer og browse index.html,.du skal se noget.,,,,, skabe overensstemmelse, til at optegne stikprøvedataene i vores kort, er vi nødt til at anvende , xscale, og , yscale, koordinaterne til at omdanne dem til at trække en streg over på plads.d3 er en api - metode , d3. perspektivgruppen. line(), til at trække en streg.So add the following code:,,,var lineGen = d3.svg.line() .x(function(d) { return xScale(d.year); }) .y(function(d) { return yScale(d.sale); });,,As you can see in the above code, we have specified x and y coordinates for the line as per the ,xScale, and ,yScale, defined earlier. ,,Next, we'll append a line path to ,svg, and map the sample data to the plotting space using the ,lineGen, function. We'll also specify a few attributes for the line such as ,stroke, color,stroke-width,, etc., as shown below:,,vis.append('svg:path') .attr('d', lineGen(data)) .attr('stroke', 'green') .attr('stroke-width', 2) .attr('fill', 'none');,,Save the changes and browse ,index.html,. du burde have den figur som vist:,,,,, udeblivelsesdom linjen har, lineær interpolation.We can specify the interpolation as well as add some CSS to the axes to make it look better.,,var lineGen = d3.svg.line() .x(function(d) { return xScale(d.year); }) .y(function(d) { return yScale(d.sale); }) .interpolate("basis");,,Add the following CSS to ,index.html,:,,.axis path { fill: none; stroke: #777; shape-rendering: crispEdges; } .axis text { font-family: Lato; font-size: 13px; },,Include the class to both ,xAxis, and ,yAxis,:,,vis.append("svg:g") .attr("class","axis") .attr("transform", "translate(0," + (HEIGHT - MARGINS.bottom) + ")") .call(xAxis); vis.append("svg:g") .attr("class","axis") .attr("transform", "translate(" + (MARGINs.left) + "0"). (yaxis), med grundlag interpolation og nogle css, her, er, hvordan det skal se ud.,,,,, skaber en multilinje, kort, overveje en anden prøve datasæt, som vist:,, var data2 = [{"salg": "." "år": "år 2000"} {"salg": "189", "år": "2002"} {"salg": "179", "år": "2004"} {"salg": "199", "år": "2006"} {"salg": "134", "år": "2008"} {"salg": "176", "år": "2010")], for nemheds skyld har vi overvejet to forskellige prøve datasæt med det samme, x - aksen, værdier.med henblik på at planlægge ovenfor vist, data2 sammen med data, er vi ganske enkelt nødt til at sætte en anden perspektivgruppen vej til, perspektivgruppen element.den eneste forskel er, at de overførte data til målestok for , linegen, funktion er data2,.her er hvordan det skal se:, vis. både ('svg: vej '). attr (»d«, linegen (data2)). attr ('stroke "," blå "). attr ('stroke-width", 2). attr ('fill "," ingen "), og at redde og ændringer browse index.html,.kan du se den multilinje skema som vist:,,,,, konklusion i denne forelæsning, så vi, hvordan at komme i gang med at skabe en enkelt multilinje, kort efter d3.js.i næste del af denne serie, vil vi tage denne lektion til næste niveau ved at gøre multilinje, figur dynamiske, og vi vil også tilføje nogle træk at gøre figur mere interaktiv.,, kildekode fra denne lektion er tilgængelig på github.,, lad os høre deres mening i bemærkninger nedenfor.
opbygning af en multi -
Previous:magento før
Next Page:hvordan til at bygge et spark