data visualisering app med bestemte pyton, d3.js og google bigquery: del 4

data visualisering app med bestemte pyton, d3.js og google bigquery: del 4,,,,, 71,,,,,,,, 6,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til blot $3..- og' t miss. denne post er en del af en serie kaldet data visualisering app med bestemte pyton, d3.js og google bigquery. data visualisering app med bestemte pyton, d3.js og google bigquery: del 3, i den tidligere del af denne forelæsning, så vi, hvordan observationsområde data hentet fra google bigquery   i vores d3.js journal.men der er et par spørgsmål, ligesom det faktum, at   omfanget ændrer ikke dynamisk, og de kredse, afsættes ikke får fjernet de efterfølgende undersøgelser. i denne forelæsning, vil vi se, hvordan til at løse disse spørgsmål, og   anvendelse   d3.js overgange   animere den figur.vi vil også   tilføje visse elementer for at gøre vores diagram mere interaktiv.,, begyndt, klone tidligere tutorielle kildekode fra github., så klon https: //////////////////////github. kom jay3dec pythond3jsmashup_part3. ud, før   begyndte, skabe en ny model ringede  , displaychart_4. html., som vil være den samme som den, displaychart_3. html.også tilføje en rute for  , displaychart_4. html.dette er gjort for at holde de demo af tidligere tutorielle intakt, da jeg vil være vært for den samme url.,, klasse displaychart4 (webapp2. requesthandler): def få (selvstændige): template_data = {} template_path = skabeloner /displaychart_4. html self. svar. skrive (skabelon. gøre (template_path, template_data) anvendelse = webapp2. wsgiapplication ([(» /chart«, showchartpage), ("/displaychart, displaychart), (" /displaychart3, displaychart3), ("/displaychart4, displaychart4), (" /getchartdata, getchartdata), ("/", showhome)] ser = sandt), d3.js overgange (skalaer), når der forekommer en ændring i vores diagram, det sker øjeblikkeligt.ved hjælp af d3.js overgange, kan vi gøre det omfang   ændre glat.  ,, hvis du nu se på de akser, når vi søger efter forskellige nøgleord, tariffer ikke bliver ajourført.for at rette op på det, vil vi rebind nye akser, der skal perspektivgruppen hver gang data er ude.,, luk op  , displaychart_4.html, og i  , createchart, javascript funktion efter akser, er blevet udvidet, vil vi rebind tariffer til akser, som vist nedenfor, udvælge, vis. (". x.axis"). (xaxis); vis. vælg (". y.axis"). (yaxis), ajourføre koden til gasser og punkt din browser til   http: //yourappspoturl. kom /displaychart_4. html.   prøve for at finde nogle nøgleord, adam,   og, cæsar, og   på hver enkelt søgning vægten på akser blive ajourført, men ændringen er øjeblikkelig.  , lad os indføre overgangsperioder og ajourføring af skæl på hver af de akser.lad os begynde med at skabe en overgang, var overgangen = vis. transition();, ved misligholdelse   overgang, der har en varighed af 250 - kan vi også sætte vores eget valg af forsinkelse.lad os få den forsinkelse, 2000, ms.,, var overgangen = vis. transition(). varighed (2000), næste, vi bruger over skabt overgang, når de forsøger at binde de skalaer til akser.ændre omfanget rebinding kode. vis. vælg (". x.axis"). (xaxis); vis. vælg (". y.axis"). (yaxis), anvendes den overgang variable skabt som vist.,, overgangen. vælg (". x.axis"). (xaxis); overgangen. vælg (". y.axis"). (yaxis), og at redde ændringer og ajourføre den kode til gasser, og din browser til   http: //yourappspoturl. kom /displaychart_4. html.   prøve med et nøgleord og overvåge ændringer i vægten på begge akser.du burde være i stand til at se tegnefilm overgang, mens   skalaer.,, d3.js overgange (ring), tilføjede vi overgang til de skiftende skalaer.på samme måde kan vi også tilføje overgang til de kredse, der bliver lagt på hvert nøgleord søgning.,, hvis du har bemærket, at der er et problem med den søgning medfører, at ".selv om vægten blive ajourført, den afbildede kredse ikke får ajourføres i de efterfølgende undersøgelser.så for at løse dette, vil vi rebind de nye data til figuren.i, createchart, javascript funktion, tilføje følgende kode, som vil rebind de nye data til   kredse er optegnet.,, cirkler. attr ("ex" funktion (d) (tilbage xscale (d.year)}). attr ("og" funktion (d) (tilbage yscale (d.count)}). attr ("r", 10), ved hjælp af de data hentet fra google bigquery datasæt, vi ændrede det år, og tæller, af data ved hjælp af, xscale, og yscale,, så det kan afsættes i de tilgængelige perspektivgruppen rum.  ,, redde de ændringer og ajourføre den kode, der bestemte.punkt din browser til   http: //yourappspoturl. kom /displaychart_4. html   og forsøge at lede efter nøgleord.du kan se, at   data bliver opdateret, men det er ret hurtigt.lad os tilføje overgange, mens rebinding nye data.,, cirkler. transition(). varighed (1000). attr ("ex" funktion (d) (tilbage xscale (d.year)}). attr ("og" funktion (d) (tilbage yscale (d.count)}). attr ("r", nr. 10), som du kan se, har vi tilføjet en overgang med en varighed af 1 ms. når dataene bliver fundet, det vil ikke være øjeblikkelige, men vil være lidt livlig.så bare opdatere koden til gasser og forsøge at genopfriske, displaychart_4.html, side.søgen efter nøgleord og  , du bør se overgangen magien sker.,, hvis du blev observeret efter søgning for anden gang for alle nøgleord, den tidligere datasøgning stadig eksisterer side om side med den anden søgning resultat.for at løse dette problem, vil vi bruge de d3.js exit   api til at fjerne den tidligere resultat.udvælgelsen. exit(). remove(), fjerner de kredse.vi skal bruge en overgang, samtidig med at fjerne de kredse,.,, cirkler. exit(). transition(). varighed (1000). remove();, ajourføring af de   kode for gasser og genopfriske, displaychart_4. html.prøv at lede første nøgleordet,,, som skulle vende nogle 19 resultater, og så søge, adam, som bør vende tilbage til 7 resultater.,, at forskellige farver til at kredse, for at gøre vores figur ser lidt mere tiltrækkende, lad os give   afsættes kredse forskellige farver.d3.js giver en skala med en række 20 farver, d3. plan. category20(),.vi bruger denne plan at give tilfældige farver til vores kredse.  , har vi vores kredse i   såkaldte røde som vist:,,. stil ("fylder", "røde"), nu, så skal vi først skaber en skala med, d3. plan. category20,.,, var farve = d3. plan. category20();,, og at kredse vil vi vælger tilfældige farver ved hjælp af farve, størrelse og udfylde de kredse, som vist nedenfor.,,. stil ("fylder" funktion (d, i) {tilbage farve (i)}), og at redde ændringer og uploader koden til gasser.når det er klaret, opfriske din side og søgen efter nøgleordet, gud, og du bør se en farverig figur som vist.,,,,, at tilføje tooltips til kredse, vi vil bruge en jquery stik af kaldet beruset at tilføje tooltips til vores kredse.i tooltip, vil vi vise værker af shakespeare  , som søgte nøgleord   forekommer.downloade og omfatte de småfulde css og manuskript   i  , displaychart_4. html,.,, < forbindelse href = "css /snalret. css" rel = "stylesheet" > < manuskript src = "js /jquery. beruset. er" type = "tekst /javascript" > < /manuskript >,, at anvende fuld, er vi nødt til at kalde det stik af med cirkler i perspektivgruppen element. $('svg cirkel). fuld ({tyngdekraft: "w", titlen: function() {tilbage "for cirkel '}}), som du kan se, vi har igangsat de småfulde stik af   i cirkler.vi har defineret to egenskaber for tooltip, tyngdekraften, og afsnit.tyngdekraft definerer den retning for at bringe tooltip i forhold til pointer.,, redde de ændringer og ajourføre den kode, der bestemte.genopfrisk din  , displaychart_4. html, og lede efter et nøgleord.de mus markør i en cirkel, og det skal være forsynet med tooltip.,,,,, næste, vil vi ændre funktion inden for fuld til at analysere corpus navn fra google bigquery datasæt og vise det som en   tooltip.,, i afsnit funktion,  , det her. __data__, giver de oplysninger, der er knyttet til de særlige cirkel.så vil vi concatenate greven og corpus navn og vise dem,   i vores tooltip. $('svg cirkel). fuld ({tyngdekraft: "w", titlen: function() {var d =. __data__; tilbage d.count + begivenheder fandt i + d.corpus;}}),,, som du kan se, har vi forbundet greven og corpus navne for at vise en tooltip.redde de ændringer og ajourføre den kode, der bestemte.- den side, for at finde et nøgleord, og mus i en cirkel, for at se tooltip.,,,,, indpakningen op, var det den sidste del af data visualisering app med bestemte pyton, d3.js og google bigquery serie.d3.js er en effektiv javascript bibliotek for at skabe smukke og   interaktive visualitioner.hvad vi lærte i disse serier af tutorials er bare toppen af isbjerget  , og der er meget mere, der d3.js har at tilbyde.for indgående viden vil jeg anbefale dem at læse de officielle dokumentation.et stort antal eksempler kan også findes på det officielle websted,.,, kildekode fra denne lektion er tilgængelig på github.,, lad os høre deres mening i bemærkningerne nedenfor.!

Chart with different colored circles
Chart showing tooltip over a circle
Chart showing full tooltop with corpus name included



Previous:
Next Page: