際際滷

際際滷Share a Scribd company logo
Visualizzare	i	dati	con	D3js
Alessio	Cimarelli	(@jenkin27)
www.dataninja.it
Bari,	23	novembre	2013
Dati
Un	dato	(dal	latino	datum	che	significa	letteralmente	fatto)	竪	una	descrizione	elementare,
spesso	codificata,	di	una	cosa,	di	una	transazione,	di	un	avvenimento.
L'elaborazione	dei	dati	pu嘆	portare	alla	conoscenza	di	un'informazione.
Ogni	tipo	di	dato	dipende	dal	codice	e	dal	formato	impiegati.
I	dati	possono	presentarsi	sotto	diverse	forme	(Wikipedia	dixit)

Sono	entit	misurabili	con	un	significato	relativo	al	contesto
in	cui	si	presentano	o	vengono	raccontate.

Per	comprenderli	e	manipolarli	竪	necessario
rappresentarli!
Rappresentare	i	dati
Numeri	e	collezioni	di	numeri
Unit	di	misura
Relazioni

Logica	formale,	matematica,	statistica...
Immagini
Tutti	gli	uomini	tendono	per	natura	al
sapere.	Lo	segnala	il	loro	l'amore	per
le	sensazioni,	amate	per	se	stesse,
indipendentemente	dall'utilit,	preferita
tra	tutte	la	vista,	non	solo	in	vista
dell'azione,	ma	anche	senza	intenzione
pratica.	Il	motivo	竪	che,	mostrando	la
molteplicit	delle	differenze,	la	vista
fa	acquisire	pi湛	delle	altre	sensazioni
[nuove]	conoscenze.
Aristotele,	Metafisica,	Incipit	(IV	secolo	a.C.)
Elementi	grafici
Grafica	e	geometria
Spessore	del	bordo
Colore	del	bordo
Colore	del	riempimento
Trasparenza
Posizione	del	centro
Lunghezza	del	raggio
(lunghezza	degli	assi)
(angolo	di	rotazione)

Ogni	elemento	grafico	竪	univocamente	definito
da	un	certo	numero	di	parametri
Arte...?
Visualizzare	i	dati
Dati	in	una	mano,	immagini	nell'altra
Dati	rappresentati	da	numeri,
parametri	grafici	misurati	con	numeri

La	chiave	sta	nel	connettere	opportunamente	i
dati	ai	parametri	degli	elementi	da	visualizzare
Data-Driven	Documents
HTML	&	SVG
+
CSS
+
Javascript

Generare	e	manipolare	pagine	web	in	base	a	un
dataset,	definendo	la	connessione	tra	dati	e
attributi	degli	elementi	XML
D3.js
D3.js	is	a	JavaScript	library	for
manipulating	documents	based	on	data.
D3	helps	you	bring	data	to	life	using
HTML,	SVG	and	CSS.	D3s	emphasis	on
web	standards	gives	you	the	full
capabilities	of	modern	browsers	without
tying	yourself	to	a	proprietary	framework,
combining	powerful	visualization
components	and	a	data-driven	approach
to	DOM	manipulation.
Dal	Ph.D.	al	New	York	Times
Mike	Bostocks,	insieme	al	Prof.	Jeff	Heer	e	a	Vadim
Ogievetsky,	un	altro	studente,	pubblica	la
libreria	ProtoVis	per	visualizzazioni	interattive	durante	il	suo
corso	di	dottorato	(2009).
Nel	2011	i	tre	reimplementano	tutto	e	nasce	D3:	proposta	in
un	paper	su	un	IEEE,	竪	arrivata	oggi	alla	versione	3.3.10,	da
sempre	open-source.
Dall'ambiente	accademico,	Mike	entra	negli	uffici	della
grande	editoria	internazionale.
Selezionare	e	associare
Il	selettori	sono	quelli	CSS,	elementi	e	attributi	sono	quelli
HTML	e	SVG	cos狸	come	definiti	dal	W3C.
d3.selectAll("p").style("font-size",	"12px");
d3.selectAll("p").style("font-size",	function()	{
				return	(Math.random()	*	12)	+	"px";
});
d3.selectAll("p")
				.data([4,	8,	12,	16,	24,	36])
				.style("font-size",	function(d)	{	return	d	+	"px";	});
Creare,	aggiornare,	distruggere
Il	cuore	della	libreria	sta	nella	capacit	di	associare	i	nostri
dati	(tipicamente	array)	a	elementi	del	DOM	permettendo	di
accedere	a	quelli	modificati,	a	quelli	non	ancora	esistenti,	a
quelli	non	pi湛	utili.
var	p	=	d3.select("body").selectAll("p")
				.data([4,	8,	12,	16,	24,	36])
				.enter().append("p")
				.style("font-size",	function(d)	{	return	d	+	"px";	})
				.text(function(d)	{	return	"Sono	grande	"	+	d	+	"px";	});
p.data([36,	24,	16,	12,	8,	4])
	.style("font-size",	function(d)	{	return	d	+	"px";	});
p.data([16,	12,	8])
	.exit()
	.remove();
Associazione	per	chiave
Il	metodo	data()	associa	i	dati	agli	elementi	del	DOM.	Pu嘆
farlo	per	indice,	ma	anche	per	chiave.	
var	sizes	=	[
		{	id:	"a",	size:	12},
		{	id:	"b",	size:	16},
		{	id:	"c",	size:	24}
];
var	p	=	d3.select("body").selectAll("p")
		.data(sizes)
		.enter().append("p")
		.style("font-size",	function(d)	{	return	d.size	+	"px";	})
		.text(function(d)	{
				return	"Sono	"	+	d.id	+	"	e	sono	grande	"	+	d.size	+	"px";
		});
Associazione	per	chiave	(2)
Il	metodo	data()	associa	i	dati	agli	elementi	del	DOM.	Pu嘆
farlo	per	indice,	ma	anche	per	chiave.
var	newSizes	=	[
		{	id:	"b",	size:	6},	//	era	{	id:	"a",	size:	6},
		{	id:	"c",	size:	8},	//	era	{	id:	"b",	size:	8},
		{	id:	"d",	size:	12}	//	era	{	id:	"c",	size:	12}
];
p.data(newSizes,	function(d)	{	return	d.id;	})
		.style("font-size",	function(d)	{	return	d.size	+	"px";	})
		.text(function(d)	{
				return	"Sono	sempre	"+d.id+",	ma	ora	sono	grande	"+d.size+"px";
		});
p.enter().append("p")
		.style("font-size",	function(d)	{	return	d.size	+	"px";	})
		.text(function(d)	{
				return	"Sono	"	+	d.id	+	"	e	sono	grande	"	+	d.size	+	"px";
		});
p.exit().remove();
Nulla	竪	istantaneo
La	libreria	竪	in	grado	di	interpolare	i	valori	della	maggior
parte	degli	attributi	numerici	definiti	nell'HTML	e	soprattutto
nell'SVG.
var	p	=	d3.select("body").selectAll("p")
				.data([4,	8,	12,	16,	24,	36])
				.enter().append("p")
				.style("font-size",	"0px")
				.text(function(d)	{	return	"Sono	grande	"	+	d	+	"px";	});
p.transition()
				.duration(750)
				.delay(function(d,	i)	{	return	i	*	10;	})
				.style("font-size",	function(d)	{	return	d	+	"px";	});
Il	mondo	竪	fatto	a	scale
Non	basta	associare	una	serie	di	dati	a	specifici	elementi	del
DOM	e	modificarne	direttamente	gli	attributi.
Il	dominio	dei	nostri	dati	potrebbe	non	essere	direttamente
compatibile	con	l'intervallo	in	cui	sono	definiti	i	valori	degli
attributi.
Es.	Ho	gli	stipendi	dei	ministri	e	ci	voglio	fare	un	grafico	a	barre	"ministro	->	stipendio	in

euro".	Se	l'altezza	delle	barre	竪	uguale	allo	stipendio	in	pixel,	mi	bucano	il	soffitto!

Ho	bisogno	di	funzioni	di	scala
Il	mondo	竪	fatto	a	scale	(2)
I	dati	possono	avere	domini	continui	(numeri	reali)	o	discreti
(categorie).
Gli	attributi	degli	elementi	HTML	o	SVG	sono	sempre
discreti	(pixel!)	e	hanno	un	intervallo	limitato	(risoluzione
dello	schermo,	codici	esadecimali,	ecc.).
Neanche	a	dirlo,	D3	ha	molti	metodi	per	definire
trasformazioni	opportune	dei	dati,	sia	che	si	tratti	di	domini
continui	(scale	lineari,	a	potenza,	logaritmiche,	quantizzate,
temporali)	o	di	domini	discreti.
Metodi	di	base
Una	volta	selezionati	gli	elementi	del	DOM,	la	libreria	offre
metodi	per	crearli	/	distruggerli,	riordinarli,	modificare	/
animare	i	loro	attributi,	associarvi	eventi,	applicarvi	funzioni.

Tutto	ruota	attorno	a	d3.selectAll([selettore]).
E	il	chaining	fornisce	un'interfaccia	semplice	e	pulita!
Metodi	di	base	(2)
D3	non	竪	una	libreria	per	la	manipolazione	di	dataset,	ma
include	una	serie	completa	di	metodi	utili	per	gestire	e
manipolare	gli	array.
Ha	tutto	ci嘆	che	serve	per	recuperare	dati	da	sorgenti
remote:	XMLHttpRequest	rulez!
	in	grado	di	effettuare	il	parsing	dei	pi湛	comuni	formati	per
lo	scambio	di	dati:	csv,	tsv	e	volendo	*sv	(oltre	al	json	e
formati	basati	su	di	esso,	ovviamente).
Metodi	di	base	(3)
L'accoppiata	HTML5	+	CSS3	竪	graficamente	molto	potente,
ma	non	pu嘆	essere	versatile	quanto	un'applicazione	XML
dedicata	alla	grafica	vettoriale.

D3	nasce	con	il	pieno	supporto	alle	specifiche	dell'SVG	e
con	molti	metodi	per	la	generazione	e	la	manipolazione	di
oggetti	come	linee,	archi,	curve	di	B辿zier,	simboli,	ecc.
Layouts
Il	cuore	della	libreria	agisce	a	un	livello	molto	basso:	dati,
elementi,	attributi.
Ma	ci	sono	visualizzazioni	che	richiedono	specifiche
manipolazioni	dei	dati	e	calcoli	per	la	determinazione
dell'aspetto	grafico	dei	vari	elementi	(torte,	barre
raggruppate,	grafi,	alberi,	clustering,	gerarchie,	ecc.).
La	componente	d3.layouts()		ha	metodi	che	implementano
numerosi	algoritmi	utili.
Geo
Dalla	versione	3.0	la	parte	di	manipolazione	di	dati
geografici	si	竪	sviluppata	enormemente.
Il	metodo	d3.geo()	permette	di	lavorare	con	le	proiezioni,
visualizzare	e	manipolare	elementi	espressi	in	coordinate
geografiche,	applicare	trasformazioni	alle	geometrie.	

Ok,	chiedo	venia,	questa	roba	chiedetela	a	 napo!
Plugins
Come	ogni	libreria	javascript	che	si	rispetti,	anche	D3	pu嘆
essere	arricchita	da	plugin	dedicati.
Quelli	ufficiali	sono	si	trovano	nel	repository
https://github.com/d3/d3-plugins.
Ma	non	sono	molti	e	sono	poco	commentati...	:(
Basato	su	D3
La	libreria	ha	raggiunto	un	tale	successo	che	cominciano	a
spuntare	molti	progetti	D3-based.
DC.js	-	Grandi	dataset	e	dashboard	composite
NVD3.js	-	Grafici	riutilizzabili
d3.chart	-	Framework	per	costruire	grafici	riutilizzabili
Rickshaw	-	Toolkit	grafico	per	javascript
D3+Three.js	-	Data	viz	in	3	dimensioni!
Datawrapper	-	Grafici	interattivi	in	4	passi
Raw	-	Viz	complesse	per	designer
d3js4enyo	-	Mio	porting	su	framework	Enyo.js	(appena
cominciato...)
Bastano	~2000	esempi?
http://christopheviau.com/d3list/gallery.html	
Senza	dimenticare	il	sito	ufficiale	e	la	documentazione...
E	ora	a	voi!

https://drive.google.com/folderview?id=0B6j_-GzOiSPsR2RPc0ZxNlZLd0U&usp=sharing

Per	giocare	con	D3	basta	un	editor	di	testo	(notepad++)	e	un
browser	(chrome).	Oppure	jsFiddle...

More Related Content

More from Dataninja (20)

Confiscatibene data & community driven journalism
Confiscatibene data & community driven journalismConfiscatibene data & community driven journalism
Confiscatibene data & community driven journalism
Dataninja
The Migrants Files, one year later
The Migrants Files, one year laterThe Migrants Files, one year later
The Migrants Files, one year later
Dataninja
#migrantsfiles international
#migrantsfiles international#migrantsfiles international
#migrantsfiles international
Dataninja
Confiscati Bene a Ferrara
Confiscati Bene a FerraraConfiscati Bene a Ferrara
Confiscati Bene a Ferrara
Dataninja
Guida galattica per i data journalists
Guida galattica per i data journalistsGuida galattica per i data journalists
Guida galattica per i data journalists
Dataninja
Un giornalista tra dati e sensori
Un giornalista tra dati e sensoriUn giornalista tra dati e sensori
Un giornalista tra dati e sensori
Dataninja
Storie che nascono dai dati, come cambia il giornalismo nell'et della Rete
Storie che nascono dai dati, come cambia il giornalismo nell'et della ReteStorie che nascono dai dati, come cambia il giornalismo nell'et della Rete
Storie che nascono dai dati, come cambia il giornalismo nell'et della Rete
Dataninja
Data journalism: fare giornalismo con metodo (scientifico)
Data journalism: fare giornalismo con metodo (scientifico)Data journalism: fare giornalismo con metodo (scientifico)
Data journalism: fare giornalismo con metodo (scientifico)
Dataninja
#migrantsfiles | Cortina d'Ampezzo, 8 luglio 2014
#migrantsfiles | Cortina d'Ampezzo, 8 luglio 2014#migrantsfiles | Cortina d'Ampezzo, 8 luglio 2014
#migrantsfiles | Cortina d'Ampezzo, 8 luglio 2014
Dataninja
Open Data & Data Visualization: dalle licenze ai grafici | Bologna, 16 giugno...
Open Data & Data Visualization: dalle licenze ai grafici | Bologna, 16 giugno...Open Data & Data Visualization: dalle licenze ai grafici | Bologna, 16 giugno...
Open Data & Data Visualization: dalle licenze ai grafici | Bologna, 16 giugno...
Dataninja
Data Journalism: strumenti operativi | Bologna, 9 giugno 2014
Data Journalism: strumenti operativi | Bologna, 9 giugno 2014Data Journalism: strumenti operativi | Bologna, 9 giugno 2014
Data Journalism: strumenti operativi | Bologna, 9 giugno 2014
Dataninja
When data journalism meets science | Erice, June 10th, 2014
When data journalism meets science | Erice, June 10th, 2014When data journalism meets science | Erice, June 10th, 2014
When data journalism meets science | Erice, June 10th, 2014
Dataninja
Introduzione al data journalism | Roma, 7 giugno 2014
Introduzione al data journalism | Roma, 7 giugno 2014Introduzione al data journalism | Roma, 7 giugno 2014
Introduzione al data journalism | Roma, 7 giugno 2014
Dataninja
Dispensa Datajournalism | Maggio 2014 | school.dataninja.it
Dispensa Datajournalism | Maggio 2014 | school.dataninja.itDispensa Datajournalism | Maggio 2014 | school.dataninja.it
Dispensa Datajournalism | Maggio 2014 | school.dataninja.it
Dataninja
Tra dati e notizie
Tra dati e notizieTra dati e notizie
Tra dati e notizie
Dataninja
Data visualization in data journalism workflow
Data visualization in data journalism workflowData visualization in data journalism workflow
Data visualization in data journalism workflow
Dataninja
Come nasce un'inchiesta data-driven
Come nasce un'inchiesta data-drivenCome nasce un'inchiesta data-driven
Come nasce un'inchiesta data-driven
Dataninja
Pools of data
Pools of dataPools of data
Pools of data
Dataninja
Web scraping e Datawrapper per giornalisti locali
Web scraping e Datawrapper per giornalisti localiWeb scraping e Datawrapper per giornalisti locali
Web scraping e Datawrapper per giornalisti locali
Dataninja
20131130 - Open Ricostruzione: i fondi destinati a Bondeno (Ferrara) dopo il ...
20131130 - Open Ricostruzione: i fondi destinati a Bondeno (Ferrara) dopo il ...20131130 - Open Ricostruzione: i fondi destinati a Bondeno (Ferrara) dopo il ...
20131130 - Open Ricostruzione: i fondi destinati a Bondeno (Ferrara) dopo il ...
Dataninja
Confiscatibene data & community driven journalism
Confiscatibene data & community driven journalismConfiscatibene data & community driven journalism
Confiscatibene data & community driven journalism
Dataninja
The Migrants Files, one year later
The Migrants Files, one year laterThe Migrants Files, one year later
The Migrants Files, one year later
Dataninja
#migrantsfiles international
#migrantsfiles international#migrantsfiles international
#migrantsfiles international
Dataninja
Confiscati Bene a Ferrara
Confiscati Bene a FerraraConfiscati Bene a Ferrara
Confiscati Bene a Ferrara
Dataninja
Guida galattica per i data journalists
Guida galattica per i data journalistsGuida galattica per i data journalists
Guida galattica per i data journalists
Dataninja
Un giornalista tra dati e sensori
Un giornalista tra dati e sensoriUn giornalista tra dati e sensori
Un giornalista tra dati e sensori
Dataninja
Storie che nascono dai dati, come cambia il giornalismo nell'et della Rete
Storie che nascono dai dati, come cambia il giornalismo nell'et della ReteStorie che nascono dai dati, come cambia il giornalismo nell'et della Rete
Storie che nascono dai dati, come cambia il giornalismo nell'et della Rete
Dataninja
Data journalism: fare giornalismo con metodo (scientifico)
Data journalism: fare giornalismo con metodo (scientifico)Data journalism: fare giornalismo con metodo (scientifico)
Data journalism: fare giornalismo con metodo (scientifico)
Dataninja
#migrantsfiles | Cortina d'Ampezzo, 8 luglio 2014
#migrantsfiles | Cortina d'Ampezzo, 8 luglio 2014#migrantsfiles | Cortina d'Ampezzo, 8 luglio 2014
#migrantsfiles | Cortina d'Ampezzo, 8 luglio 2014
Dataninja
Open Data & Data Visualization: dalle licenze ai grafici | Bologna, 16 giugno...
Open Data & Data Visualization: dalle licenze ai grafici | Bologna, 16 giugno...Open Data & Data Visualization: dalle licenze ai grafici | Bologna, 16 giugno...
Open Data & Data Visualization: dalle licenze ai grafici | Bologna, 16 giugno...
Dataninja
Data Journalism: strumenti operativi | Bologna, 9 giugno 2014
Data Journalism: strumenti operativi | Bologna, 9 giugno 2014Data Journalism: strumenti operativi | Bologna, 9 giugno 2014
Data Journalism: strumenti operativi | Bologna, 9 giugno 2014
Dataninja
When data journalism meets science | Erice, June 10th, 2014
When data journalism meets science | Erice, June 10th, 2014When data journalism meets science | Erice, June 10th, 2014
When data journalism meets science | Erice, June 10th, 2014
Dataninja
Introduzione al data journalism | Roma, 7 giugno 2014
Introduzione al data journalism | Roma, 7 giugno 2014Introduzione al data journalism | Roma, 7 giugno 2014
Introduzione al data journalism | Roma, 7 giugno 2014
Dataninja
Dispensa Datajournalism | Maggio 2014 | school.dataninja.it
Dispensa Datajournalism | Maggio 2014 | school.dataninja.itDispensa Datajournalism | Maggio 2014 | school.dataninja.it
Dispensa Datajournalism | Maggio 2014 | school.dataninja.it
Dataninja
Tra dati e notizie
Tra dati e notizieTra dati e notizie
Tra dati e notizie
Dataninja
Data visualization in data journalism workflow
Data visualization in data journalism workflowData visualization in data journalism workflow
Data visualization in data journalism workflow
Dataninja
Come nasce un'inchiesta data-driven
Come nasce un'inchiesta data-drivenCome nasce un'inchiesta data-driven
Come nasce un'inchiesta data-driven
Dataninja
Pools of data
Pools of dataPools of data
Pools of data
Dataninja
Web scraping e Datawrapper per giornalisti locali
Web scraping e Datawrapper per giornalisti localiWeb scraping e Datawrapper per giornalisti locali
Web scraping e Datawrapper per giornalisti locali
Dataninja
20131130 - Open Ricostruzione: i fondi destinati a Bondeno (Ferrara) dopo il ...
20131130 - Open Ricostruzione: i fondi destinati a Bondeno (Ferrara) dopo il ...20131130 - Open Ricostruzione: i fondi destinati a Bondeno (Ferrara) dopo il ...
20131130 - Open Ricostruzione: i fondi destinati a Bondeno (Ferrara) dopo il ...
Dataninja

Recently uploaded (17)

Test Bank for Understanding Abnormal Behavior, 10th Edition : Sue
Test Bank for Understanding Abnormal Behavior, 10th Edition : SueTest Bank for Understanding Abnormal Behavior, 10th Edition : Sue
Test Bank for Understanding Abnormal Behavior, 10th Edition : Sue
dementogge
Intermediate Accounting Vol 2 Canadian 2nd Edition Lo Test Bank
Intermediate Accounting Vol 2 Canadian 2nd Edition Lo Test BankIntermediate Accounting Vol 2 Canadian 2nd Edition Lo Test Bank
Intermediate Accounting Vol 2 Canadian 2nd Edition Lo Test Bank
jotinlywood
Solution Manual for Intermediate Accounting 3rd Edition by Wahlen
Solution Manual for Intermediate Accounting 3rd Edition by WahlenSolution Manual for Intermediate Accounting 3rd Edition by Wahlen
Solution Manual for Intermediate Accounting 3rd Edition by Wahlen
titeuxprasil
Customer Satisfaction a.s. 2023-24 - Questionario Autovalutazione
Customer Satisfaction a.s. 2023-24 - Questionario AutovalutazioneCustomer Satisfaction a.s. 2023-24 - Questionario Autovalutazione
Customer Satisfaction a.s. 2023-24 - Questionario Autovalutazione
belodevici
Improving Code Quality 1st Edition Yiannis Kanellopoulos & Tim Walker
Improving Code Quality 1st Edition Yiannis Kanellopoulos & Tim WalkerImproving Code Quality 1st Edition Yiannis Kanellopoulos & Tim Walker
Improving Code Quality 1st Edition Yiannis Kanellopoulos & Tim Walker
aokasmaany
The Digital Revolution: A Short History of an Ideology Balbi
The Digital Revolution: A Short History of an Ideology BalbiThe Digital Revolution: A Short History of an Ideology Balbi
The Digital Revolution: A Short History of an Ideology Balbi
obrohepner
Introduction to Programming with C++ 3rd Edition Liang Test Bank
Introduction to Programming with C++ 3rd Edition Liang Test BankIntroduction to Programming with C++ 3rd Edition Liang Test Bank
Introduction to Programming with C++ 3rd Edition Liang Test Bank
toblerleunis
New Methods of Literacy Research 1st Edition Peggy Albers
New Methods of Literacy Research 1st Edition Peggy AlbersNew Methods of Literacy Research 1st Edition Peggy Albers
New Methods of Literacy Research 1st Edition Peggy Albers
uxhcablende
2 - Presentazione disturbo spettro autismo.pdf
2 - Presentazione disturbo spettro  autismo.pdf2 - Presentazione disturbo spettro  autismo.pdf
2 - Presentazione disturbo spettro autismo.pdf
GiovanniBertoni
Presentazione della Dichiarazione di Dubai sulle OER alla comunit italiana -...
Presentazione della Dichiarazione di Dubai sulle OER alla comunit italiana -...Presentazione della Dichiarazione di Dubai sulle OER alla comunit italiana -...
Presentazione della Dichiarazione di Dubai sulle OER alla comunit italiana -...
Damiano Orru
Engineering Economy Sullivan Wicks Koelling 15th Edition Test Bank
Engineering Economy Sullivan Wicks Koelling 15th Edition Test BankEngineering Economy Sullivan Wicks Koelling 15th Edition Test Bank
Engineering Economy Sullivan Wicks Koelling 15th Edition Test Bank
gadevshahma
Test Bank for Systems Analysis and Design 8th Edition: Kendall
Test Bank for Systems Analysis and Design 8th Edition: KendallTest Bank for Systems Analysis and Design 8th Edition: Kendall
Test Bank for Systems Analysis and Design 8th Edition: Kendall
alawamajina
1_Biomolecole_Carboidrati scienze sup.ppt
1_Biomolecole_Carboidrati scienze sup.ppt1_Biomolecole_Carboidrati scienze sup.ppt
1_Biomolecole_Carboidrati scienze sup.ppt
DanyPagan
Global Economic Institutions 1st Edition Willem Molle
Global Economic Institutions 1st Edition Willem MolleGlobal Economic Institutions 1st Edition Willem Molle
Global Economic Institutions 1st Edition Willem Molle
koloohgazari67
Customer Satisfaction a.s. 2022-23 - Questionario autovalutazione
Customer Satisfaction a.s. 2022-23 - Questionario autovalutazioneCustomer Satisfaction a.s. 2022-23 - Questionario autovalutazione
Customer Satisfaction a.s. 2022-23 - Questionario autovalutazione
belodevici
Viva training in ENT preparation for the FRCS ORL HNS 1st ed Edition Winter
Viva training in ENT preparation for the FRCS ORL HNS 1st ed Edition WinterViva training in ENT preparation for the FRCS ORL HNS 1st ed Edition Winter
Viva training in ENT preparation for the FRCS ORL HNS 1st ed Edition Winter
munirinkuah
aristotele_lecture_UNINA_introduzione.ppt
aristotele_lecture_UNINA_introduzione.pptaristotele_lecture_UNINA_introduzione.ppt
aristotele_lecture_UNINA_introduzione.ppt
arienzoalessandro
Test Bank for Understanding Abnormal Behavior, 10th Edition : Sue
Test Bank for Understanding Abnormal Behavior, 10th Edition : SueTest Bank for Understanding Abnormal Behavior, 10th Edition : Sue
Test Bank for Understanding Abnormal Behavior, 10th Edition : Sue
dementogge
Intermediate Accounting Vol 2 Canadian 2nd Edition Lo Test Bank
Intermediate Accounting Vol 2 Canadian 2nd Edition Lo Test BankIntermediate Accounting Vol 2 Canadian 2nd Edition Lo Test Bank
Intermediate Accounting Vol 2 Canadian 2nd Edition Lo Test Bank
jotinlywood
Solution Manual for Intermediate Accounting 3rd Edition by Wahlen
Solution Manual for Intermediate Accounting 3rd Edition by WahlenSolution Manual for Intermediate Accounting 3rd Edition by Wahlen
Solution Manual for Intermediate Accounting 3rd Edition by Wahlen
titeuxprasil
Customer Satisfaction a.s. 2023-24 - Questionario Autovalutazione
Customer Satisfaction a.s. 2023-24 - Questionario AutovalutazioneCustomer Satisfaction a.s. 2023-24 - Questionario Autovalutazione
Customer Satisfaction a.s. 2023-24 - Questionario Autovalutazione
belodevici
Improving Code Quality 1st Edition Yiannis Kanellopoulos & Tim Walker
Improving Code Quality 1st Edition Yiannis Kanellopoulos & Tim WalkerImproving Code Quality 1st Edition Yiannis Kanellopoulos & Tim Walker
Improving Code Quality 1st Edition Yiannis Kanellopoulos & Tim Walker
aokasmaany
The Digital Revolution: A Short History of an Ideology Balbi
The Digital Revolution: A Short History of an Ideology BalbiThe Digital Revolution: A Short History of an Ideology Balbi
The Digital Revolution: A Short History of an Ideology Balbi
obrohepner
Introduction to Programming with C++ 3rd Edition Liang Test Bank
Introduction to Programming with C++ 3rd Edition Liang Test BankIntroduction to Programming with C++ 3rd Edition Liang Test Bank
Introduction to Programming with C++ 3rd Edition Liang Test Bank
toblerleunis
New Methods of Literacy Research 1st Edition Peggy Albers
New Methods of Literacy Research 1st Edition Peggy AlbersNew Methods of Literacy Research 1st Edition Peggy Albers
New Methods of Literacy Research 1st Edition Peggy Albers
uxhcablende
2 - Presentazione disturbo spettro autismo.pdf
2 - Presentazione disturbo spettro  autismo.pdf2 - Presentazione disturbo spettro  autismo.pdf
2 - Presentazione disturbo spettro autismo.pdf
GiovanniBertoni
Presentazione della Dichiarazione di Dubai sulle OER alla comunit italiana -...
Presentazione della Dichiarazione di Dubai sulle OER alla comunit italiana -...Presentazione della Dichiarazione di Dubai sulle OER alla comunit italiana -...
Presentazione della Dichiarazione di Dubai sulle OER alla comunit italiana -...
Damiano Orru
Engineering Economy Sullivan Wicks Koelling 15th Edition Test Bank
Engineering Economy Sullivan Wicks Koelling 15th Edition Test BankEngineering Economy Sullivan Wicks Koelling 15th Edition Test Bank
Engineering Economy Sullivan Wicks Koelling 15th Edition Test Bank
gadevshahma
Test Bank for Systems Analysis and Design 8th Edition: Kendall
Test Bank for Systems Analysis and Design 8th Edition: KendallTest Bank for Systems Analysis and Design 8th Edition: Kendall
Test Bank for Systems Analysis and Design 8th Edition: Kendall
alawamajina
1_Biomolecole_Carboidrati scienze sup.ppt
1_Biomolecole_Carboidrati scienze sup.ppt1_Biomolecole_Carboidrati scienze sup.ppt
1_Biomolecole_Carboidrati scienze sup.ppt
DanyPagan
Global Economic Institutions 1st Edition Willem Molle
Global Economic Institutions 1st Edition Willem MolleGlobal Economic Institutions 1st Edition Willem Molle
Global Economic Institutions 1st Edition Willem Molle
koloohgazari67
Customer Satisfaction a.s. 2022-23 - Questionario autovalutazione
Customer Satisfaction a.s. 2022-23 - Questionario autovalutazioneCustomer Satisfaction a.s. 2022-23 - Questionario autovalutazione
Customer Satisfaction a.s. 2022-23 - Questionario autovalutazione
belodevici
Viva training in ENT preparation for the FRCS ORL HNS 1st ed Edition Winter
Viva training in ENT preparation for the FRCS ORL HNS 1st ed Edition WinterViva training in ENT preparation for the FRCS ORL HNS 1st ed Edition Winter
Viva training in ENT preparation for the FRCS ORL HNS 1st ed Edition Winter
munirinkuah
aristotele_lecture_UNINA_introduzione.ppt
aristotele_lecture_UNINA_introduzione.pptaristotele_lecture_UNINA_introduzione.ppt
aristotele_lecture_UNINA_introduzione.ppt
arienzoalessandro

Visualizzare i dati con D3js