SlideShare a Scribd company logo
1 of 13
Download to read offline
TECNOLOGIE WEB AVANZATO
Javascript:
le librerie Jquery e D3
Jquery: sintassi di base
‘tag1’
‘#id1’
‘.class1’
‘tag1.class1’
‘tag1 .class1
’
‘tag1, tag2’
…….
id2
$(selettore).azione()
tutti gli elementi con tag1
l’elemento con id1
gli elementi di class1
gli elementi con tag1 e
class1
gli elementi con class1
discendenti di elementi
con tag1
gli elementi con tag1 e
tag2
gli elementi con id2
selettori
.click(function)
.hide(‘slow’)
.show(‘fast’)
.toggle()
.animate()
al click esegue la funzione
nasconde lentamente
appare velocemente
appare e scompare
crea una animazione
effetti
modifiche html
.text ()
.text(‘testo’)
.attr(attributo)
.attr(attributo,
valore)
.css(proprietà)
.css(proprietà,
valore)
‘get’ il contenuto elemento
‘set’ ‘testo’ nell’elemento
‘get’ il valore dell’attributo
‘set’ il valore all’attributo
‘get’ il valore del parametro
‘set’ il valore al parametro
LEZIONE 1..
www.fordatascientist.org
I00-Web-Advanced
I11-Jquery-Introduction.ipynb
LEZIONE 1..
www.fordatascientist.org
I00-Web-Advanced
I10-CreateEnv.ipynb
D3: sintassi di base
d3.select(Selettore).azione1(.....).azione2(.....) ........ .azioneN(......)
d3.select("#D3JS_Elements").append("p").text("This is a new paragraph");
un esempio
seleziona l’elemento con
id=D3JS_Elements e restituisce
un oggetto d3 che contiene un
punto di riferimento all’elemento
selezionato
appende un tag <p> di
apertura e chiusura e
un oggetto d3 che
contiene un punto di
riferimento al tag
inserito
inserisce il testo ‘This is
a new paragraph’
all’interno del tag di
riferimento
chiude la
catena di
comandi
L’ordine dei comandi è importante
D3: Binding data
var E;
E=d3.select("#D3JS_Elements");
creo una lista di 6 numerivar LNUM=[1, 5, 8, 241, 66,22];
ST=E.selectAll("p")
.data(LNUM)
.enter()
.append("p") ;
ST.text("This is new");
ST.text(function(d){return d});
creo un oggetto E dalla libreria d3
contenente un punto di riferimento
all’elemento con id D3JS_Elements
inserisco all’interno dell’elemento di
riferimento dell’oggetto E (enter) tanti
elementi p (append) quanti sono i dati
contenuti il LNUM (data). Creo un
collegamento tra i dati e gli elementi <p>.
Assegno il risultato alla variabile ST
inserisco in tutti i <p> il testo “This is new”
inserisco in tutti i <p> il testo ricavato dal
dato che è stato collegato all’elemento
LEZIONE 1..
www.fordatascientist.org
I00-Web-Advanced
I22-D3JS-GettingStarted
Dati di input: file json
Un file Json è un file di tipo testo che contiene dati espressi
nella forma di dizionari e liste.
[ {‘XER’:’DEU’,
‘MER’:’FRA’,
‘VALUE’: 29333},
{‘XER’:’ITA’,
‘MER’:’FRA’,
‘VALUE’: 3246},
…..
]
[0][‘VALUE’]
[1][‘XER’]
{ ‘XER’:[‘DEU’,’ITA’],
‘MER’:[’FRA’,FRA],
’VALUE’:[29333,3246]
…..
}
[‘XER’][0]
[‘VALUE’][1]
Dati di input: funzione callback
Le funzioni callback sono funzioni che vendono eseguite quando è terminata una
interazione con il browser o con il server. Tramite una funzione callback si rende
sincrona una azione asincrona.
d3.json('Tools/DATA/WTI.json', function(d) { ……..} );
metodo json di d3 indirizzo file json funzione callback
Quando viene chiamato il metodo json, è letto il file json passato come input.
Quando la lettura è terminata, allora viene lanciata la callback passando come
argomento i dati letti
Funzioni di funzioni - 1
Molte delle istruzioni D3 sono composte da funzioni che hanno come argomento
altre funzioni.
var ScaleX = d3.time.scale().domain([T1,T2]).range([0, WIDTH]);
var T1, T2;
[T1,T2]=d3.extent(DSET.DATA, function(d) { return d.T; })
Il metodo extent di d3 estrae un vettore con minimo e massimo di una lista. Questa può essere estratta
da una lista di dizionari, specificando la chiave di interesse
Il metodo time.scale di d3 crea un funzione che crea una corrispondenza tra i valori del dominio e i valori
di un range di output. Ha come input un dato appartenente al dominio e come output il corrispondente
valore interno al range.
Funzioni di funzioni - 2
var XA = d3.svg.axis()
.scale(ScaleX)
.ticks(d3.time.year, 5)
.tickFormat(d3.time.format("%b" + "-" + "%y"))
.orient("bottom");
Questo comando costruisce
la funzione XA derivata dalla
funzione d3.svg.axis(),
utilizzando come scala i
parametri della funzione
ScaleX, ponendo una tacca
ogni 5 anni, con formato
“mese- anno”, orientata verso
l’alto
CANVAS.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + HEIGHT + ")")
.call(XA);
appende al CANVAS, un
elementio <g>, definisce gli
attributi di questo elemento e
poi chiama la funzione XA
che produce le istruzioni svg
per il disegno dell’asse.
LEZIONE 1..
www.fordatascientist.org
I00-Web-Advanced
D3js-Multiline.ipynb
CONTATTI TELEFONO
051 22 35 20
EMAIL
WORKSHOP@VICEM.IT

More Related Content

What's hot

The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...Davide Cerbo
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQueryXeDotNet
 
Go reactive with Realm and Xamarin Forms - Andrea Ceroni - Codemotion Rome 2018
Go reactive with Realm and Xamarin Forms - Andrea Ceroni - Codemotion Rome 2018Go reactive with Realm and Xamarin Forms - Andrea Ceroni - Codemotion Rome 2018
Go reactive with Realm and Xamarin Forms - Andrea Ceroni - Codemotion Rome 2018Codemotion
 
Entity Framework 6 for developers, Code-First!
Entity Framework 6 for developers, Code-First!Entity Framework 6 for developers, Code-First!
Entity Framework 6 for developers, Code-First!Michael Denny
 
LINQ, Entities Framework & ORMs
LINQ, Entities Framework & ORMsLINQ, Entities Framework & ORMs
LINQ, Entities Framework & ORMsJUG Genova
 
Scala Programming Linux Day 2009
Scala Programming Linux Day 2009Scala Programming Linux Day 2009
Scala Programming Linux Day 2009Massimiliano Dessì
 

What's hot (7)

The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
The Hitchhiker's Guide to testable code: semplici regole per scrivere codice ...
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
 
Go reactive with Realm and Xamarin Forms - Andrea Ceroni - Codemotion Rome 2018
Go reactive with Realm and Xamarin Forms - Andrea Ceroni - Codemotion Rome 2018Go reactive with Realm and Xamarin Forms - Andrea Ceroni - Codemotion Rome 2018
Go reactive with Realm and Xamarin Forms - Andrea Ceroni - Codemotion Rome 2018
 
Introduzione a node.js
Introduzione a node.jsIntroduzione a node.js
Introduzione a node.js
 
Entity Framework 6 for developers, Code-First!
Entity Framework 6 for developers, Code-First!Entity Framework 6 for developers, Code-First!
Entity Framework 6 for developers, Code-First!
 
LINQ, Entities Framework & ORMs
LINQ, Entities Framework & ORMsLINQ, Entities Framework & ORMs
LINQ, Entities Framework & ORMs
 
Scala Programming Linux Day 2009
Scala Programming Linux Day 2009Scala Programming Linux Day 2009
Scala Programming Linux Day 2009
 

Similar to Corso avanzato di Tecnologie WEB - jquery e d3js

Web advanced-02-jquery
Web advanced-02-jqueryWeb advanced-02-jquery
Web advanced-02-jqueryStudiabo
 
Javascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesignerJavascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesignerMatteo Magni
 
Web advanced-03-d3 js-base
Web advanced-03-d3 js-baseWeb advanced-03-d3 js-base
Web advanced-03-d3 js-baseStudiabo
 
06 Android - lavorare in background
06 Android - lavorare in background06 Android - lavorare in background
06 Android - lavorare in backgroundspawn150
 
2014 it - app dev series - 04 - indicizzazione
2014   it - app dev series - 04 - indicizzazione2014   it - app dev series - 04 - indicizzazione
2014 it - app dev series - 04 - indicizzazioneMongoDB
 
Entity Framework 4 vs NHibernate 3
Entity Framework 4 vs NHibernate 3Entity Framework 4 vs NHibernate 3
Entity Framework 4 vs NHibernate 3Martino Bordin
 
Introduzione a Node.js
Introduzione a Node.jsIntroduzione a Node.js
Introduzione a Node.jsMichele Capra
 
ASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella ViewASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella ViewManuel Scapolan
 
ZoeFX: un framework MVC per JavaFX
ZoeFX: un framework MVC per JavaFXZoeFX: un framework MVC per JavaFX
ZoeFX: un framework MVC per JavaFXTiziano Lattisi
 
Session 02 - schema design e architettura
Session 02 - schema design e architetturaSession 02 - schema design e architettura
Session 02 - schema design e architetturaMongoDB
 
E suap - tecnologie client
E suap - tecnologie client E suap - tecnologie client
E suap - tecnologie client Sabino Labarile
 
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegateSviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegatePaolo Sereno
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuerySandro Marcon
 

Similar to Corso avanzato di Tecnologie WEB - jquery e d3js (20)

Web advanced-02-jquery
Web advanced-02-jqueryWeb advanced-02-jquery
Web advanced-02-jquery
 
Javascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesignerJavascript - 7 | WebMaster & WebDesigner
Javascript - 7 | WebMaster & WebDesigner
 
Web advanced-03-d3 js-base
Web advanced-03-d3 js-baseWeb advanced-03-d3 js-base
Web advanced-03-d3 js-base
 
JavaScript
JavaScriptJavaScript
JavaScript
 
06 Android - lavorare in background
06 Android - lavorare in background06 Android - lavorare in background
06 Android - lavorare in background
 
2014 it - app dev series - 04 - indicizzazione
2014   it - app dev series - 04 - indicizzazione2014   it - app dev series - 04 - indicizzazione
2014 it - app dev series - 04 - indicizzazione
 
Entity Framework 4 vs NHibernate 3
Entity Framework 4 vs NHibernate 3Entity Framework 4 vs NHibernate 3
Entity Framework 4 vs NHibernate 3
 
Introduzione a Node.js
Introduzione a Node.jsIntroduzione a Node.js
Introduzione a Node.js
 
ASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella ViewASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella View
 
XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13XPages Tips & Tricks, #dd13
XPages Tips & Tricks, #dd13
 
Components
ComponentsComponents
Components
 
Vb.Net
Vb.NetVb.Net
Vb.Net
 
ZoeFX: un framework MVC per JavaFX
ZoeFX: un framework MVC per JavaFXZoeFX: un framework MVC per JavaFX
ZoeFX: un framework MVC per JavaFX
 
Session 02 - schema design e architettura
Session 02 - schema design e architetturaSession 02 - schema design e architettura
Session 02 - schema design e architettura
 
Angular Components e Pipe
Angular Components e PipeAngular Components e Pipe
Angular Components e Pipe
 
E suap - tecnologie client
E suap - tecnologie client E suap - tecnologie client
E suap - tecnologie client
 
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegateSviluppo di App con Qt Quick: un esempio di model-view-delegate
Sviluppo di App con Qt Quick: un esempio di model-view-delegate
 
#dd12 Applicazioni a tre voci (Android e Domino)
#dd12 Applicazioni a tre voci (Android e Domino)#dd12 Applicazioni a tre voci (Android e Domino)
#dd12 Applicazioni a tre voci (Android e Domino)
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuery
 
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
 

More from Studiabo

Big data rischi
Big data rischiBig data rischi
Big data rischiStudiabo
 
Big data correlazioni
Big data correlazioniBig data correlazioni
Big data correlazioniStudiabo
 
Ravenna2019 - lezione Big Data
Ravenna2019 - lezione Big DataRavenna2019 - lezione Big Data
Ravenna2019 - lezione Big DataStudiabo
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshapeStudiabo
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindexStudiabo
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframeStudiabo
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandasStudiabo
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStudiabo
 
Strutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltinStrutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltinStudiabo
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStudiabo
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringheStudiabo
 
Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Studiabo
 
Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Studiabo
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshapeStudiabo
 
Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Studiabo
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStudiabo
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindexStudiabo
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandasStudiabo
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframeStudiabo
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStudiabo
 

More from Studiabo (20)

Big data rischi
Big data rischiBig data rischi
Big data rischi
 
Big data correlazioni
Big data correlazioniBig data correlazioni
Big data correlazioni
 
Ravenna2019 - lezione Big Data
Ravenna2019 - lezione Big DataRavenna2019 - lezione Big Data
Ravenna2019 - lezione Big Data
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
 
Strutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltinStrutture dati 03-stutturedatibuiltin
Strutture dati 03-stutturedatibuiltin
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringhe
 
Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019
 
Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
 
Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
 

Corso avanzato di Tecnologie WEB - jquery e d3js

  • 2. Jquery: sintassi di base ‘tag1’ ‘#id1’ ‘.class1’ ‘tag1.class1’ ‘tag1 .class1 ’ ‘tag1, tag2’ ……. id2 $(selettore).azione() tutti gli elementi con tag1 l’elemento con id1 gli elementi di class1 gli elementi con tag1 e class1 gli elementi con class1 discendenti di elementi con tag1 gli elementi con tag1 e tag2 gli elementi con id2 selettori .click(function) .hide(‘slow’) .show(‘fast’) .toggle() .animate() al click esegue la funzione nasconde lentamente appare velocemente appare e scompare crea una animazione effetti modifiche html .text () .text(‘testo’) .attr(attributo) .attr(attributo, valore) .css(proprietà) .css(proprietà, valore) ‘get’ il contenuto elemento ‘set’ ‘testo’ nell’elemento ‘get’ il valore dell’attributo ‘set’ il valore all’attributo ‘get’ il valore del parametro ‘set’ il valore al parametro
  • 5. D3: sintassi di base d3.select(Selettore).azione1(.....).azione2(.....) ........ .azioneN(......) d3.select("#D3JS_Elements").append("p").text("This is a new paragraph"); un esempio seleziona l’elemento con id=D3JS_Elements e restituisce un oggetto d3 che contiene un punto di riferimento all’elemento selezionato appende un tag <p> di apertura e chiusura e un oggetto d3 che contiene un punto di riferimento al tag inserito inserisce il testo ‘This is a new paragraph’ all’interno del tag di riferimento chiude la catena di comandi L’ordine dei comandi è importante
  • 6. D3: Binding data var E; E=d3.select("#D3JS_Elements"); creo una lista di 6 numerivar LNUM=[1, 5, 8, 241, 66,22]; ST=E.selectAll("p") .data(LNUM) .enter() .append("p") ; ST.text("This is new"); ST.text(function(d){return d}); creo un oggetto E dalla libreria d3 contenente un punto di riferimento all’elemento con id D3JS_Elements inserisco all’interno dell’elemento di riferimento dell’oggetto E (enter) tanti elementi p (append) quanti sono i dati contenuti il LNUM (data). Creo un collegamento tra i dati e gli elementi <p>. Assegno il risultato alla variabile ST inserisco in tutti i <p> il testo “This is new” inserisco in tutti i <p> il testo ricavato dal dato che è stato collegato all’elemento
  • 8. Dati di input: file json Un file Json è un file di tipo testo che contiene dati espressi nella forma di dizionari e liste. [ {‘XER’:’DEU’, ‘MER’:’FRA’, ‘VALUE’: 29333}, {‘XER’:’ITA’, ‘MER’:’FRA’, ‘VALUE’: 3246}, ….. ] [0][‘VALUE’] [1][‘XER’] { ‘XER’:[‘DEU’,’ITA’], ‘MER’:[’FRA’,FRA], ’VALUE’:[29333,3246] ….. } [‘XER’][0] [‘VALUE’][1]
  • 9. Dati di input: funzione callback Le funzioni callback sono funzioni che vendono eseguite quando è terminata una interazione con il browser o con il server. Tramite una funzione callback si rende sincrona una azione asincrona. d3.json('Tools/DATA/WTI.json', function(d) { ……..} ); metodo json di d3 indirizzo file json funzione callback Quando viene chiamato il metodo json, è letto il file json passato come input. Quando la lettura è terminata, allora viene lanciata la callback passando come argomento i dati letti
  • 10. Funzioni di funzioni - 1 Molte delle istruzioni D3 sono composte da funzioni che hanno come argomento altre funzioni. var ScaleX = d3.time.scale().domain([T1,T2]).range([0, WIDTH]); var T1, T2; [T1,T2]=d3.extent(DSET.DATA, function(d) { return d.T; }) Il metodo extent di d3 estrae un vettore con minimo e massimo di una lista. Questa può essere estratta da una lista di dizionari, specificando la chiave di interesse Il metodo time.scale di d3 crea un funzione che crea una corrispondenza tra i valori del dominio e i valori di un range di output. Ha come input un dato appartenente al dominio e come output il corrispondente valore interno al range.
  • 11. Funzioni di funzioni - 2 var XA = d3.svg.axis() .scale(ScaleX) .ticks(d3.time.year, 5) .tickFormat(d3.time.format("%b" + "-" + "%y")) .orient("bottom"); Questo comando costruisce la funzione XA derivata dalla funzione d3.svg.axis(), utilizzando come scala i parametri della funzione ScaleX, ponendo una tacca ogni 5 anni, con formato “mese- anno”, orientata verso l’alto CANVAS.append("g") .attr("class", "x axis") .attr("transform", "translate(0," + HEIGHT + ")") .call(XA); appende al CANVAS, un elementio <g>, definisce gli attributi di questo elemento e poi chiama la funzione XA che produce le istruzioni svg per il disegno dell’asse.
  • 13. CONTATTI TELEFONO 051 22 35 20 EMAIL WORKSHOP@VICEM.IT