Op 8 juni begint het EK voetbal 2012 in Polen en Oekraïne. Vlak nadat ik als datajournalist bij NU.nl begon, heb ik samen met de NUsport-redactie plannen gesmeed om sport en datavisualisatie te gaan combineren. Het belooft namelijk een hete sportzomer te worden met het EK voetbal en de Olympische Spelen voor de boeg.
Het idee om de selecties van het EK 2012 te gaan onderzoeken, was vrij snel geboren (lees hier het nieuwsbericht). Sterker nog, ik zag direct voor me hoe ik het wilde visualiseren: de chord diagram (die ik hierna koorddiagram noem) van de Javascript library D3 is geschikt om onderlinge relaties weer te geven.
Maar ik ben geen held in programmeren. Hoe ben ik als ‘journalist die een beetje kan copypaste-programmeren’ tot bovenstaand resultaat gekomen? Een visualisatie die het op vrijdag 1 juni zelfs tot het beroemde Datablog van The Guardian wist te schoppen.
Het grote voordeel van D3 is dat er behoorlijk veel voorbeeldcode beschikbaar is. Zodra je de library downloadt, krijg je er een map met voorbeelden bij. Open de bestanden in een Javascript editor – ik gebruik zelf Komodo (op MacBook Air) en Free Javascript Editor (op werk) – en probeer te begrijpen wat er ongeveer gebeurt.
Onderstaand voorbeeld is de koorddiagram die je standaard in de library vindt.
Geloof me, je snapt in het begin echt niet hoe de formules in de code exact werken. Maar het belangrijkste is dat je kunt doorgronden waar je de data in stopt en hoe visualisatie wordt opgemaakt. Welk getal bepaalt de dikte van de lijn? Waar kan ik kleuren veranderen? Hoe maak ik de cirkels iets groter?
Wat mij behoorlijk goed heeft geholpen, is Water. Dit is een applicatie waarin je diezelfde koorddiagram kunt bewerken en direct het resultaat terugziet. Terwijl je de getallen manipuleert, verandert de visualisatie. Speel hier eens een kwartier mee, dan snap je een stuk beter hoe je de diagram kunt manipuleren.
Maar de standaardvorm die D3 mij gaf, was niet goed genoeg voor wat ik wilde. Ik moest kunnen aangeven voor welke landen en clubs de spelers uitkomen. Tijd om eens naar wat voorbeelden te kijken. Ik wist dat Sargasso een tijd geleden een visualisatie had met interrupties van kamerleden (gemaakt door Alper Çuğun van Monster Swell). En via-via kwam ik er achter dat er een vrij uitgebreide koorddiagram met labels op internet stond.
Op dit moment is ‘rechtermuisklik, Opslaan als…, webpagina, compleet’ jouw beste vriend. Sla de code op, kijk hoe de pro’s het oplossen en gebruik die code voor jouw eigen visualisatie. Met de Frankenstein-code heb ik flink geworsteld, maar na flink wat trial and error kreeg ik onderstaand resultaat.
De basis ligt er. Hierna heb ik wat dummy-data gemaakt, landennamen uitgetikt en kleuren ingesteld. Het uitgebreide model ziet er als volgt uit.
Als je naar de code kijkt, is er een specifiek punt waar veel werk in zit, namelijk de data. De koorddiagram vraagt namelijk om data in een matrix. Hieronder een voorbeeld van hoe zoiets eruit ziet.
Daaronder tref je de volgende regel:
var clubs = ['Club A', 'Club B', 'Club C', '...'],
Je moet de matrix als volgt lezen: Club A heeft [eerste getal eerste regel] verbindingen met Club A, Club A heeft [tweede getal eerste regel] verbindingen met Club B, etc. De tweede regel is Club B heeft [eerste getal tweede regel] met club A, enzovoort.
Ik heb bovenstaande matrix gemaakt na een paar keer trail and error in Excel. Michel Abbink van NUsport leverde mij een mooi Excel-bestand met de naam van de speler, land en club waar hij voor uitkomt. Hier kun je de data downloaden in Google Spreadsheet.
Daarmee kun je een draaitabel maken, waar je vervolgens met wat copypaste een matrix mee maakt waarin je jouw eigen volgorde qua landen mee maakt. Bedenk van tevoren goed hoe je de labels georganiseerd wilt hebben, hoe zoiets er in een matrix uitziet en wat dat betekent voor je Excel-bestand. Vooruitdenken scheelt veel frustratie.
Het Excel-bestand sla je op als CSV, je plaatst de haken om je getallen en zet de landen en clubs in het var clubs = ['...'],
gedeelte. Fingers crossed! Als je visualisatie hiervoor altijd heeft gewerkt maar nu niet meer, dan is er een grote kans dat je een regel bent vergeten te kopiëren of dat je een komma verkeerd hebt geplaatst. Loop het oorspronkelijke bestand (BELANGRIJK: sla je bestanden in versies op!) na en vergelijk de structuur.
Vervolgens heb ik in een aantal stappen naar het eindresultaat toegewerkt. Allereerst probeerde ik alle clubs in de koorddiagram te proppen.
Dat werkt overduidelijk niet. Daarna heb ik alle clubs buiten de ‘grote vijf’ en de Eredivisie in de categorie Overige gestopt.
Hierna heb ik de marges tussen de vlakken aangepast en de kleuren ingesteld. Hierdoor kwam de koorddiagram ineens tot leven. Ik heb de HTML-pagina vervolgens opgemaakt en via AddThis knoppen voor sociale media toegevoegd. Met dit als resultaat.
Code en conclusie
Wil je nu zelf aan de slag met deze code? Dat kan. Hier kun je het downloaden en ermee aan de slag gaan. Ik stel deze aangepaste code beschikbaar onder een Creative Commons BY-SA licentie. Je mag het dus voor commercieel gebruik remixen, als je maar naar onze versie verwijst en jouw werk onder dezelfde licentie deelt. Download de code hier.
De visualisatie heeft een behoorlijk hoge informatiedichtheid, maar door de kleuren en witruimtes blijft het overzichtelijk. Het gaat hier niet om de exacte aantallen, maar de relaties tussen clubs en landen.
Hoewel ik voor een volgend project wel overweeg om Tipsy te gebruiken. Hier kun je tip tools aan een D3-visualisatie koppelen.
Bovenstaande heeft mij enorm veel tijd gekost. Maar nu ik eenmaal werkende code heb, kan ik het voor meerdere projecten inzetten. De koorddiagram is volgens mij een hele mooie intro in D3, want nu wil ik deze taal verder proberen te doorgronden. Er zitten echter ook een aantal nadelen aan.
Het is erg intensief om een visualisatie te maken. Het is geen hapsnap-werk: je moet hier toch echt wel een paar dagen voor inplannen. Ook is er aan de gebruikerskant een belangrijke beperking: het werkt enkel in Chrome, Firefox en – daar komt het – Internet Explorer 9. Een grote groep gebruikers kan dus niet van al dat harde werk genieten.
Toch blijf ik mij de aankomende periode in D3 verdiepen. Het is een goede introductie in programmeren. Daarnaast komt er een moment dat het marktaandeel verouderde browsers zo miniem is dat het geen beperking meer is.
Tips voor tutorials of cursussen D3 zijn welkom.
Ziet er mooi uit, maar is het wel begrijpelijk voor Jan Modaal?
We hebben ook een EK-kaart gemaakt. Dat is met dezelfde dataset gedaan.
Ik twijfelde zelf ook. Is dit wel voor iedereen duidelijk? Ik had verwacht dat de koorddiagram vooral door mijn datacollega’s zou worden gedeeld en de kaart door lezers: de eerste is grafisch en technisch aantrekkelijk, de tweede is conventioneel.
Wat blijkt? De koorddiagram krijgt de meeste shares, likes, +1’s, etc. Van wie allemaal weet ik niet, maar het is wel opmerkelijk. Tussen al die reacties verwacht ik eigenlijk ook de meest heftige meningen: mensen die het geweldig vinden en anderen die het he-le-maal niets vinden.
Dus wat ik bij een volgend project doe? Weet ik nog niet. Volgens mij moet ik kiezen voor de variant die mensen het liefste via sociale media delen. Wat vind jij?
generic of augmentin Han and colleagues reported that the rate of CIA in the Korean population was 89
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
Your article helped me a lot, is there any more related content? Thanks!
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
boots pharmacy voltarol: online pharmacy doxycycline – american pharmacy viagra
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
100mg sildenafil 30 tablets price: best viagra over the counter – viagra 100mg price india
viagra buy india generic viagra online mexico canada viagra cost
https://vgrsources.com/# viagra samples
viagra 250 mg: buy sildenafil paypal – viagra from mexico to usa
sildenafil tablet brand name: how to buy viagra in us – generic viagra soft tab
where to buy otc viagra buy cheap viagra online australia generic sildenafil cost
sildenafil in india: VGR Sources – sildenafil 50mg tablets coupon
best price viagra 25mg: VGR Sources – places to buy viagra
https://vgrsources.com/# discount online pharmacy viagra
generic viagra 150 mg VGR Sources sildenafil 100mg uk price
viagra tablets 50 mg online: buy generic viagra with paypal – generic viagra soft pills
sildenafil india purchase: where can i get viagra in australia – buy viagra 200mg
buy cheap viagra online VGR Sources online viagra tablet canada
where can you buy viagra uk: viagra 50 mg generic – where can i buy sildenafil tablets
viagra generic discount: sildenafil pills in india – sildenafil pill cost
https://vgrsources.com/# where can i buy viagra for women
viagra 100 mg generic VGR Sources viagra pills for sale uk
generic viagra online from india: VGR Sources – viagra soft
otc viagra usa: VGR Sources – sildenafil for women
buy viagra over the counter usa viagra womens buy viagra online
buy generic viagra online in usa: VGR Sources – sildenafil tablets from india 100mg tablets
viagra tablet: sildenafil generic without prescription – buy genuine viagra
https://vgrsources.com/# sildenafil tablets 150mg
viagra pills over the counter canada sildenafil 20mg online prescription online prescriptions for viagra
where to buy viagra online uk: where to get real viagra online – where to order viagra online
buy viagra hong kong: 100mg sildenafil price – viagra over the counter price
india viagra generic: VGR Sources – viagra where to buy in india
how to buy viagra usa cheap generic india viagra viagra 100mg uk
female viagra singapore: VGR Sources – how to order generic viagra
sildenafil for sale: where to buy viagra in canada safely – viagra canadian pharmacy
https://vgrsources.com/# prices for viagra prescription
viagra medicine online in india VGR Sources viagra tablets 50 mg online
100mg generic sildenafil: viagra 100mg tablet price – pill viagra
real generic viagra: how to buy viagra usa – buy viagra 500mg
viagra for sale over the counter VGR Sources viagra without prescription canada
pfizer 100mg viagra: VGR Sources – pinkviagraforwomen
how to buy viagra online in canada: walgreens viagra – sildenafil 100mg price usa
https://vgrsources.com/# how to buy viagra without prescription
sildenafil 20 mg online prescription female viagra where to buy uk generic viagra online prescription
how to buy generic viagra from canada: buy viagra now – where to get sildenafil
can i buy viagra online in usa generic sildenafil online cost for viagra prescription
viagra for female for sale: viagra soft gel capsules – generic sildenafil
sildenafil generic 50 mg: sildenafil 100 – sildenafil singapore
sildenafil 50 mg online us VGR Sources buy cheap viagra pills online
https://vgrsources.com/# buying sildenafil 100mg
viagra online without prescription: VGR Sources – sildenafil in india
no rx viagra: VGR Sources – buy generic viagra soft tabs
real viagra without a prescription: viagra pill cost canada – 25 mg generic viagra
online female viagra: VGR Sources – sildenafil 5343
LipiPharm: LipiPharm – LipiPharm
https://semaglupharm.com/# FDA-approved Rybelsus alternative
Semaglu Pharm rybelsus weight loss side effects does rybelsus cause yeast infections
Semaglu Pharm: does semaglutide cause acne – how to get semaglutide online
Predni Pharm: PredniPharm – prednisone 10mg canada
Semaglu Pharm SemagluPharm semaglutide injection side effects
CrestorPharm: Crestor Pharm – Rosuvastatin tablets without doctor approval
https://semaglupharm.shop/# SemagluPharm
Crestor Pharm: CrestorPharm – does crestor help you lose weight
Lipi Pharm LipiPharm Atorvastatin online pharmacy
foods to avoid when taking rosuvastatin: Crestor Pharm – rosuvastatin side effects kidney
atorvastatin 40 mg: can i take lipitor every other day – atorvastatin and beer
PredniPharm can you buy prednisone without a prescription PredniPharm
https://lipipharm.com/# Affordable Lipitor alternatives USA
Predni Pharm PredniPharm prednisone pill 20 mg
semaglutide vs wegovy: half life of rybelsus – rybelsus preГ§o
Rosuvastatin tablets without doctor approval: Crestor Pharm – CrestorPharm
prednisone 10 mg over the counter Predni Pharm prednisone generic brand name
https://lipipharm.shop/# LipiPharm
SemagluPharm: SemagluPharm – best semaglutide
Affordable cholesterol-lowering pills: Online statin therapy without RX – atorvastatin and rosuvastatin together
LipiPharm Cheap Lipitor 10mg / 20mg / 40mg LipiPharm
rybelsus vs jardiance cost: Semaglu Pharm – Affordable Rybelsus price
SemagluPharm: SemagluPharm – SemagluPharm
Predni Pharm buy cheap prednisone prednisone 1 mg for sale
https://prednipharm.shop/# prednisone 20 mg without prescription
generic name for rosuvastatin: CrestorPharm – Crestor Pharm
Affordable Lipitor alternatives USA LipiPharm Lipi Pharm
SemagluPharm: Semaglu Pharm – Rybelsus side effects and dosage
https://semaglupharm.com/# rybelsus and jardiance
semaglutide for weight loss in non diabetics dosage SemagluPharm SemagluPharm
https://semaglupharm.shop/# SemagluPharm
prednisone 10mg: prednisone 50 mg tablet cost – where can you buy prednisone
https://semaglupharm.com/# semaglutide is ozempic
get rybelsus prescription online rybelsus not working Order Rybelsus discreetly
prednisone 5 50mg tablet price: buy prednisone online without a prescription – PredniPharm
Affordable Lipitor alternatives USA Atorvastatin online pharmacy Lipi Pharm
LipiPharm: LipiPharm – atorvastatin lower blood pressure
https://crestorpharm.com/# Crestor Pharm
SemagluPharm Order Rybelsus discreetly Semaglu Pharm
Predni Pharm: Predni Pharm – prednisone 20mg for sale
http://semaglupharm.com/# Semaglu Pharm
FDA-approved generic statins online: Lipi Pharm – can i take atorvastatin and aspirin together
LipiPharm Discreet shipping for Lipitor LipiPharm
https://semaglupharm.com/# Semaglu Pharm
lipitor liver damage repair: why change from simvastatin to atorvastatin – LipiPharm
5 prednisone in mexico: Predni Pharm – Predni Pharm
http://lipipharm.com/# Lipi Pharm
Buy cholesterol medicine online cheap Crestor Pharm Crestor mail order USA
https://semaglupharm.shop/# will insurance cover rybelsus for weight loss
Lipi Pharm: Cheap Lipitor 10mg / 20mg / 40mg – LipiPharm
Rybelsus for blood sugar control: п»їBuy Rybelsus online USA – semaglutide headache relief
https://semaglupharm.com/# Semaglu Pharm
Crestor Pharm Over-the-counter Crestor USA Crestor Pharm
prednisone brand name in usa: prednisone where can i buy – how to purchase prednisone online
Lipi Pharm: Order cholesterol medication online – LipiPharm
https://lipipharm.shop/# Atorvastatin online pharmacy
http://semaglupharm.com/# SemagluPharm
PredniPharm Predni Pharm Predni Pharm
LipiPharm: Affordable Lipitor alternatives USA – atorvastatin nursing considerations
semaglutide thyroid cancer: SemagluPharm – rybelsus nausea
https://semaglupharm.com/# Buy Rybelsus online USA
Atorvastatin online pharmacy Lipi Pharm Lipi Pharm
Semaglu Pharm: SemagluPharm – п»їBuy Rybelsus online USA
alcohol and lipitor: LipiPharm – Safe atorvastatin purchase without RX
http://semaglupharm.com/# wegovy vs rybelsus
https://semaglupharm.com/# Buy Rybelsus online USA
Semaglu Pharm is rybelsus the same as mounjaro Rybelsus online pharmacy reviews
prednisone 1 mg tablet: Predni Pharm – PredniPharm
FDA-approved Rybelsus alternative: Semaglu Pharm – semaglutide nyc
http://semaglupharm.com/# Rybelsus online pharmacy reviews
SemagluPharm SemagluPharm where to inject semaglutide in leg
Order rosuvastatin online legally: CrestorPharm – CrestorPharm
Predni Pharm: where can i get prednisone over the counter – buy prednisone online uk
https://semaglupharm.shop/# SemagluPharm
https://semaglupharm.com/# SemagluPharm
ezetimibe and rosuvastatin rosuvastatin 5 mg effet secondaire side effects from rosuvastatin
Semaglutide tablets without prescription: Semaglu Pharm – can semaglutide make you tired
why does rosuvastatin have to be taken at night: Generic Crestor for high cholesterol – CrestorPharm
http://semaglupharm.com/# rybelsus without diabetes
LipiPharm Lipi Pharm Lipi Pharm
Crestor Pharm: CrestorPharm – Order rosuvastatin online legally
http://semaglupharm.com/# Affordable Rybelsus price
semaglutide cost at walmart: Semaglu Pharm – SemagluPharm
Predni Pharm PredniPharm Predni Pharm
https://prednipharm.com/# PredniPharm
http://semaglupharm.com/# SemagluPharm
LipiPharm: can lipitor cause shortness of breath – LipiPharm
CrestorPharm: Crestor Pharm – Online statin therapy without RX
what is lipitor used for LipiPharm LipiPharm
https://semaglupharm.com/# semaglutide 5mg
can rosuvastatin cause diarrhea: Crestor Pharm – crestor tab
Predni Pharm: buy prednisone online australia – prednisone brand name india
Online medicine home delivery India Pharm Global buy medicines online in india
http://indiapharmglobal.com/# India Pharm Global
https://medsfrommexico.com/# mexican mail order pharmacies
India Pharm Global: India Pharm Global – online pharmacy india
mexico drug stores pharmacies: buying prescription drugs in mexico online – mexican pharmaceuticals online
https://medsfrommexico.shop/# Meds From Mexico
reliable canadian pharmacy reviews canadian pharmacy meds review escrow pharmacy canada
canadian pharmacies comparison: canadian pharmacy online ship to usa – canadian world pharmacy
best canadian pharmacy to buy from: Canada Pharm Global – legit canadian online pharmacy
http://canadapharmglobal.com/# canada rx pharmacy world
https://canadapharmglobal.com/# canadian pharmacy 24
India Pharm Global India Pharm Global India Pharm Global
cheap canadian pharmacy: best online canadian pharmacy – best rated canadian pharmacy
Meds From Mexico: Meds From Mexico – mexican mail order pharmacies
https://medsfrommexico.shop/# Meds From Mexico
Online medicine home delivery: reputable indian online pharmacy – India Pharm Global
india pharmacy pharmacy website india India Pharm Global
India Pharm Global: India Pharm Global – online shopping pharmacy india
https://canadapharmglobal.com/# canadian pharmacy king reviews
https://canadapharmglobal.shop/# best canadian online pharmacy
cheapest online pharmacy india: India Pharm Global – indian pharmacies safe
best rated canadian pharmacy canadian mail order pharmacy legitimate canadian pharmacy online
http://canadapharmglobal.com/# ordering drugs from canada
mexico drug stores pharmacies: mexico drug stores pharmacies – Meds From Mexico
canadian pharmacy ed medications: certified canadian international pharmacy – canadian pharmacy victoza
canadian pharmacy price checker Canada Pharm Global canadian pharmacy meds
https://canadapharmglobal.com/# canadianpharmacy com
canadian online pharmacy: Canada Pharm Global – legitimate canadian online pharmacies
http://indiapharmglobal.com/# India Pharm Global
canadian drug pharmacy: my canadian pharmacy – rate canadian pharmacies
India Pharm Global best online pharmacy india pharmacy website india
https://canadapharmglobal.shop/# my canadian pharmacy rx
India Pharm Global: world pharmacy india – India Pharm Global
reputable canadian pharmacy: Canada Pharm Global – canadian pharmacy world
https://medsfrommexico.com/# mexico drug stores pharmacies
online canadian pharmacy canadian pharmacy prices canada drugstore pharmacy rx
https://indiapharmglobal.com/# India Pharm Global
reputable indian pharmacies: top online pharmacy india – India Pharm Global
canadian pharmacy uk delivery: Canada Pharm Global – canadian pharmacies online
https://canadapharmglobal.shop/# canadian pharmacy tampa
canadian drug pharmacy Canada Pharm Global trusted canadian pharmacy
nikkelallergi test apotek: prebiotika apotek – Rask Apotek
Svenska Pharma: rea schampo – Svenska Pharma
https://raskapotek.shop/# Rask Apotek
travocort prezzo con ricetta probio+intima recensioni EFarmaciaIt
https://raskapotek.com/# apotek +
sette vaksine apotek: apotek pГҐ nett gratis frakt – inositol apotek
fumar tramadol: Papa Farma – Papa Farma
https://efarmaciait.shop/# EFarmaciaIt
salttabletter apotek Rask Apotek Rask Apotek
Rask Apotek: Rask Apotek – Rask Apotek
https://raskapotek.com/# farmasi apotek
bomullshandske apotek: Svenska Pharma – vuxenblГ¶jor apotek
Rask Apotek ringorm behandling apotek Rask Apotek
https://svenskapharma.com/# diarré av näringsdryck
EFarmaciaIt: vertiserc cosa serve – normix per cane
http://efarmaciait.com/# EFarmaciaIt
tramadol crema wartec crema ozempic precio
recensioni dr max: EFarmaciaIt – EFarmaciaIt
Svenska Pharma: Svenska Pharma – min katt har mjГ¤ll
https://efarmaciait.shop/# EFarmaciaIt
https://svenskapharma.shop/# Svenska Pharma
a cosa serve locoidon crema EFarmaciaIt EFarmaciaIt
Papa Farma: Papa Farma – cbd natura
https://svenskapharma.shop/# apotek s
ezetimibe 10 mg: farmacia inline – duspatal bustine
Svenska Pharma Svenska Pharma Svenska Pharma
https://raskapotek.com/# pipetter apotek
EFarmaciaIt: doc farmacia online – scalapay numero verde
Papa Farma: Papa Farma – farmacias online barcelona
https://raskapotek.com/# Rask Apotek
tu boutique parafarmacia granada licoforte gel despigmentante Papa Farma
https://papafarma.com/# Papa Farma
Svenska Pharma: vilka graviditetstest Г¤r bГ¤st – Svenska Pharma
Papa Farma: Papa Farma – Papa Farma
http://papafarma.com/# Papa Farma
salvie te apotek nac apotek Rask Apotek
farmacias mas baratas: Papa Farma – Papa Farma
Papa Farma: farmaxia – isdin pastillas sol opiniones
https://efarmaciait.shop/# migliori farmacie on-line
https://raskapotek.shop/# Rask Apotek
kГ¶pa paracetamol apotek fraktfritt Svenska Pharma
EFarmaciaIt: EFarmaciaIt – 1000 farmacie ГЁ affidabile
Rask Apotek: Rask Apotek – hagtorn apotek
http://efarmaciait.com/# EFarmaciaIt
Papa Farma mejor multivitamГnico ocu farmacia gran parque granada
Papa Farma: movicol soluciГіn oral en sobre – mejor especialista columna palma de mallorca
https://svenskapharma.shop/# Svenska Pharma
https://raskapotek.shop/# Rask Apotek
EFarmaciaIt: acquistare farmaci online – contractubex dove acquistare
axil 800 EFarmaciaIt EFarmaciaIt
Papa Farma: syracerin comprar online – iraltone aga plus amazon
http://efarmaciait.com/# EFarmaciaIt
bijuva online dymista a cosa serve EFarmaciaIt
Papa Farma: Papa Farma – Papa Farma
https://pharmajetzt.com/# apothe online
PharmaConnectUSA o reilly pharmacy artane PharmaConnectUSA
http://pharmaconfiance.com/# Pharma Confiance
Pharma Confiance: Pharma Confiance – fournisseur parapharmacie
achat god ceinture: avene diagnostic peau – Pharma Confiance
https://medicijnpunt.com/# de apotheek
Pharma Connect USA PharmaConnectUSA can you buy viagra at the pharmacy
ibuprofen singapore pharmacy: which online pharmacy is reliable – PharmaConnectUSA
MedicijnPunt: apotheek kopen – Medicijn Punt
https://pharmajetzt.com/# Pharma Jetzt
https://pharmaconnectusa.com/# paxil online pharmacy
PharmaJetzt: Pharma Jetzt – Pharma Jetzt
pharmacie viagra generique trouver une pharmacie Pharma Confiance
apotheke holland: nieuwe pharma – medicijnlijst apotheek
https://pharmaconfiance.shop/# Pharma Confiance
allergie au calcaire: ketoprofene durГ©e traitement – parapharmacie online
boots pharmacy omeprazole pharmacy rx one coupons online cialis pharmacy reviews
https://pharmaconnectusa.com/# Pharma Connect USA
generic propecia online pharmacy: pharmacy store online – generic viagra us pharmacy
https://pharmajetzt.com/# PharmaJetzt
online pharmacy: online medicatie bestellen – recepta online
parapharmzcie caudalie service client parfum vendu en pharmacie
https://pharmaconfiance.shop/# pharmacie a
Pharma Jetzt: PharmaJetzt – PharmaJetzt
lamisil online pharmacy: PharmaConnectUSA – pharmacy classes online
PharmaJetzt PharmaJetzt PharmaJetzt
http://pharmaconfiance.com/# Pharma Confiance
appotheek: Medicijn Punt – apotheek online nl
benzer pharmacy: PharmaConnectUSA – PharmaConnectUSA
PharmaConnectUSA pharmacy store nearby Pharma Connect USA
https://pharmaconnectusa.shop/# oregon board of pharmacy
Medicijn Punt: medicatie kopen – MedicijnPunt
shop apotheken: pille danach online apotheke – fledox in apotheke kaufen
Medicijn Punt netherlands online pharmacy aptoheek
https://pharmaconnectusa.com/# Pharma Connect USA
https://pharmaconfiance.shop/# medicament amoxicilline 500
MedicijnPunt: medicijnen zonder recept – MedicijnPunt
first rx pharmacy statesville nc: guardian pharmacy viagra – Persantine
http://pharmajetzt.com/# PharmaJetzt
shop aptheke Pharma Jetzt Pharma Jetzt
levofloxacin online pharmacy: Pharma Connect USA – indian pharmacy
PharmaJetzt: medikamente billiger – Pharma Jetzt
http://medicijnpunt.com/# Medicijn Punt
peut on donner imodium a un chien Pharma Confiance fer viatris
Pharma Confiance: Pharma Confiance – pharmacoe
https://pharmajetzt.com/# PharmaJetzt
farmacie medicijn: mijn medicijn.nl – appotheek
https://pharmaconfiance.shop/# allergie au calcaire
stock pharmacie en ligne Pharma Confiance Pharma Confiance
PharmaJetzt: bad apotheke online – Pharma Jetzt
Medicijn Punt: medicijnen op recept online bestellen – apotheken in holland
http://medicijnpunt.com/# recept medicijnen
best online pharmacy to buy accutane ritalin online pharmacy best value pharmacy
Thank you very much for sharing, I learned a lot from your article. Very cool. Thanks.
Pharma Jetzt: PharmaJetzt – online apotheke deutschland
http://pharmaconfiance.com/# Pharma Confiance
shop apotheken online: welche online apotheke ist am gГјnstigsten – online apotheke mit rechnung
https://medicijnpunt.shop/# medicijnen zonder recept kopen
PharmaConnectUSA Pharma Connect USA domperidone online pharmacy no prescription
MedicijnPunt: Medicijn Punt – frenadol kopen in nederland
https://medicijnpunt.com/# Medicijn Punt
PharmaConnectUSA: viagra pharmacy – new zealand online pharmacy
cariban prix refaire ses dents au maroc avis tadalafil 5 mg achat en ligne
pharmacie aprium: Pharma Confiance – Pharma Confiance
https://medicijnpunt.com/# internet apotheek nederland
Pharma Jetzt: medicamente – Pharma Jetzt
https://medicijnpunt.shop/# MedicijnPunt
Pharma Jetzt shop apotheke bestellung apotheke obline
Pharma Connect USA: Pharma Connect USA – Pharma Connect USA
https://medicijnpunt.com/# online recept
online pharmacy modafinil: managing warfarin therapy in various pharmacy settings – PharmaConnectUSA
Pharma Confiance Pharma Confiance Pharma Confiance
https://pharmaconfiance.com/# logo parapharmacie
pharmacy nederlands: Medicijn Punt – Medicijn Punt
Pharma Confiance: Pharma Confiance – Pharma Confiance
target pharmacy refills online Pharma Connect USA online pharmacy review
https://pharmaconfiance.shop/# Pharma Confiance
http://pharmajetzt.com/# apoteheke
medicijnen kopen online: Medicijn Punt – MedicijnPunt
PharmaConnectUSA: Aristocort – wegmans online pharmacy
pharmacie gemenos Pharma Confiance Pharma Confiance
http://pharmajetzt.com/# PharmaJetzt
snel medicijnen bestellen: Medicijn Punt – MedicijnPunt
catalogue parapharmacie: Pharma Confiance – avis daflon
http://pharmajetzt.com/# Pharma Jetzt
PharmaConnectUSA PharmaConnectUSA accutane online pharmacy reviews
PharmaConnectUSA: pharmacy online cheap – ramipril online pharmacy
https://pharmaconnectusa.shop/# generic paxil online pharmacy
apotheek kopen: online medicatie bestellen – apotheek nederland
https://pharmaconnectusa.com/# schnucks pharmacy
MedicijnPunt medicatielijst apotheek med apotheek
mijn apotheek online: medicijnen kopen – de apotheker
http://pharmajetzt.com/# shop apotheke medikamente
Pharma Confiance: Pharma Confiance – Pharma Confiance
rx plus pharmacy glendale ny PharmaConnectUSA motion sickness
PharmaConnectUSA: Pharma Connect USA – PharmaConnectUSA
https://medicijnpunt.shop/# MedicijnPunt
https://pharmaconnectusa.shop/# tri luma online pharmacy
online versandapotheke: shop apotheke deutschland – shopapothe
Pharma Connect USA PharmaConnectUSA renova cream online pharmacy
Pharma Jetzt: beste online apotheke – welches ist die gГјnstigste online apotheke
viagra pour homme prix pharmacie: cetirizine base de donnГ©es – Pharma Confiance
https://pharmaconnectusa.com/# PharmaConnectUSA
https://medicijnpunt.shop/# internet apotheek
dosage amoxicilline bГ©bГ© 9 kg pharmacie brix Pharma Confiance
apotheke holland: MedicijnPunt – ons medicatie voor apotheken
MedicijnPunt: MedicijnPunt – online pharmacy
http://pharmajetzt.com/# apotheke versandapotheke
MedicijnPunt: MedicijnPunt – internetapotheek
farmacie online: farmacie medicijn – de online apotheek
Pharma Jetzt Pharma Jetzt apo med
http://pharmaconnectusa.com/# PharmaConnectUSA
https://pharmaconnectusa.com/# real cialis online pharmacy
spf rouen: Pharma Confiance – Pharma Confiance
PharmaJetzt: apotheke rechnung – arznei gГјnstig
medicijn online pharmacy online netherlands Medicijn Punt
viagra online pharmacy australia: PharmaConnectUSA – Pharma Connect USA
Medicijn Punt: medicatielijst apotheek – bestellen apotheek
https://pharmaconnectusa.com/# PharmaConnectUSA
schedule rx pharmacy one source: best rx pharmacy – PharmaConnectUSA
Pharma Connect USA: Pharma Connect USA – viagra online pharmacy prices
http://pharmajetzt.com/# shop apotheken
Viagra Soft Tabs us online pharmacy reviews discount pharmacies
https://pharmajetzt.com/# PharmaJetzt
Pharma Confiance: acheter nexgard moins cher – Pharma Confiance
Pharma Confiance: para pharmacy – Pharma Confiance
medicijnen zonder recept kopen: Medicijn Punt – MedicijnPunt
https://medicijnpunt.com/# MedicijnPunt
PharmaConnectUSA which pharmacy has the best price on viagra Pharma Connect USA
Pharma Jetzt: medikamente preisvergleich testsieger – PharmaJetzt
http://medicijnpunt.com/# holandia apteka internetowa
pharmacy course online: viagra in mexico pharmacy – Pharma Connect USA
Pharma Connect USA: Pharma Connect USA – PharmaConnectUSA
https://pharmaconfiance.com/# Pharma Confiance
filtre anti calcaire douche Pharma Confiance Pharma Confiance
Pharma Connect USA: PharmaConnectUSA – Pharma Connect USA
PharmaJetzt: apotal apotheke online shop – PharmaJetzt
https://pharmaconnectusa.com/# ultram pharmacy
pilule cialis: pharmacy – benadryl in france
http://medicijnpunt.com/# Medicijn Punt
clinique vГ©tГ©rinaire 38 5 avis chondrosulf pas cher comment ce procurer du viagra
MedicijnPunt: apotheek winkel 24 review – MedicijnPunt
https://medicijnpunt.com/# MedicijnPunt
quand prendre tadalafil: Pharma Confiance – Pharma Confiance
Pharma Connect USA: fincar from inhouse pharmacy – what pharmacy sells viagra
online apotheken gГјnstig Pharma Jetzt PharmaJetzt
medicatie apotheek: apteka internetowa holandia – apotheek producten
https://pharmajetzt.com/# PharmaJetzt
medikamente billig: online-apotheke testsieger – PharmaJetzt
http://pharmaconfiance.com/# pharmacie garidech
pilule slinda sans ordonnance: god achat – Pharma Confiance
pharmacie atida Pharma Confiance Pharma Confiance
sumatriptan pharmacy: PharmaConnectUSA – why is zyrtec d behind the pharmacy counter
http://medicijnpunt.com/# de online apotheek
rite aid pharmacy benadryl: us pharmacy cialis – online pharmacy permethrin
IndiMeds Direct: indian pharmacy – п»їlegitimate online pharmacies india
https://tijuanameds.shop/# TijuanaMeds
https://indimedsdirect.com/# reputable indian pharmacies
canada pharmacy reviews canadian pharmacy ltd canadian pharmacy near me
reliable canadian pharmacy: CanRx Direct – canadian pharmacy 24h com safe
best online canadian pharmacy: canadian pharmacy world – cheap canadian pharmacy online
https://canrxdirect.com/# canadian pharmacy india
medication from mexico pharmacy TijuanaMeds buying from online mexican pharmacy
mexican drugstore online: medicine in mexico pharmacies – mexican mail order pharmacies
canadian world pharmacy: canadadrugpharmacy com – my canadian pharmacy review
https://tijuanameds.shop/# TijuanaMeds
https://tijuanameds.shop/# TijuanaMeds
mexican drugstore online TijuanaMeds buying prescription drugs in mexico online
TijuanaMeds: TijuanaMeds – TijuanaMeds
https://canrxdirect.shop/# canadianpharmacymeds com
IndiMeds Direct п»їlegitimate online pharmacies india best online pharmacy india
mail order pharmacy india: india online pharmacy – top 10 pharmacies in india
http://canrxdirect.com/# online canadian pharmacy
https://tijuanameds.shop/# TijuanaMeds
best rated canadian pharmacy canada pharmacy online legit vipps canadian pharmacy
TijuanaMeds: TijuanaMeds – TijuanaMeds
https://indimedsdirect.com/# online pharmacy india
canadapharmacyonline legit CanRx Direct canadian online pharmacy
https://indimedsdirect.shop/# IndiMeds Direct
TijuanaMeds: buying prescription drugs in mexico – pharmacies in mexico that ship to usa
canadian pharmacy 1 internet online drugstore: my canadian pharmacy rx – canadian pharmacies compare
TijuanaMeds mexican rx online pharmacies in mexico that ship to usa
https://indimedsdirect.shop/# IndiMeds Direct
http://indimedsdirect.com/# online pharmacy india
TijuanaMeds: TijuanaMeds – TijuanaMeds
cheapest online pharmacy india: IndiMeds Direct – IndiMeds Direct
https://canrxdirect.com/# legitimate canadian mail order pharmacy
pharmacy wholesalers canada CanRx Direct best canadian pharmacy to buy from
buying from online mexican pharmacy: mexican mail order pharmacies – TijuanaMeds
tadalafilo 5 mg precio mГЎs barato: Farmacia Asequible – delivery farmacia
https://enclomiphenebestprice.com/# enclomiphene
farma ia: mejor cepillo dental electrico segun la ocu – cepillo oral b io 9
https://enclomiphenebestprice.shop/# enclomiphene
domperidone us pharmacy safeway pharmacy hours RxFree Meds
Farmacia Asequible: Farmacia Asequible – Farmacia Asequible
https://rxfreemeds.com/# best online pharmacy no prescription viagra
viagra pharmacy online: RxFree Meds – RxFree Meds
enclomiphene for men enclomiphene buy buy enclomiphene online
Farmacia Asequible: Farmacia Asequible – melatonina 5 mg farmacia espaГ±a
enclomiphene price: enclomiphene best price – enclomiphene price
https://enclomiphenebestprice.com/# enclomiphene testosterone
https://rxfreemeds.com/# RxFree Meds
RxFree Meds asda pharmacy cialis RxFree Meds
enclomiphene online: enclomiphene testosterone – enclomiphene price
enclomiphene: enclomiphene buy – enclomiphene online
https://rxfreemeds.com/# provigil mexican pharmacy
euro pharmacy viagra RxFree Meds RxFree Meds
Farmacia Asequible: farmacias online portugal – cbd bilbao
https://rxfreemeds.shop/# propecia generic online pharmacy
https://rxfreemeds.shop/# RxFree Meds
caring pharmacy online store lamisil boots pharmacy prometrium online pharmacy
aceite cbd 20 por ciento opiniones: Farmacia Asequible – Farmacia Asequible
http://enclomiphenebestprice.com/# enclomiphene citrate
RxFree Meds: RxFree Meds – rite aid pharmacy store hours
enclomiphene for sale enclomiphene enclomiphene buy
http://enclomiphenebestprice.com/# enclomiphene online
Farmacia Asequible: Farmacia Asequible – Farmacia Asequible
RxFree Meds: fluoxetine india pharmacy – online pharmacy store in kolkata
enclomiphene testosterone enclomiphene enclomiphene buy
http://farmaciaasequible.com/# Farmacia Asequible
http://enclomiphenebestprice.com/# buy enclomiphene online
RxFree Meds: warfarin monitoring pharmacy – rx pharmacy no prescription
RxFree Meds: topiramate online pharmacy – escitalopram generic pharmacy
ozempic spanien fisio creme farmacias proximas
https://rxfreemeds.com/# vips pharmacy viagra
enclomiphene citrate: enclomiphene buy – enclomiphene online
enclomiphene price enclomiphene online enclomiphene citrate
magellan rx pharmacy network: RxFree Meds – tesco pharmacy viagra cost
https://rxfreemeds.shop/# RxFree Meds
https://enclomiphenebestprice.com/# buy enclomiphene online
enclomiphene: buy enclomiphene online – enclomiphene buy
Farmacia Asequible Farmacia Asequible Farmacia Asequible
http://farmaciaasequible.com/# viagra farmacia
enclomiphene: enclomiphene buy – enclomiphene
enclomiphene best price: enclomiphene price – enclomiphene best price
Farmacia Asequible: ver avatar online castellano – syracerin para que sirve
https://enclomiphenebestprice.shop/# enclomiphene
http://enclomiphenebestprice.com/# enclomiphene for men
comprar tobrex: Farmacia Asequible – farmacia portugal envГo espaГ±a
http://enclomiphenebestprice.com/# enclomiphene for sale
pastilla del dГa despuГ©s gratis cataluГ±a Farmacia Asequible compresas tena hombre
online pharmacy united states: lexapro online pharmacy – ed treatment
enclomiphene price: enclomiphene online – enclomiphene citrate
https://enclomiphenebestprice.com/# enclomiphene for sale
priligy johor pharmacy ribavirin online pharmacy RxFree Meds
http://rxfreemeds.com/# tijuana pharmacy online
enclomiphene citrate: enclomiphene online – enclomiphene
http://farmaciaasequible.com/# producto parafarmacia
farmacia medicamentos: comprar viagra genГ©rico online entrega 24 horas portugal – Farmacia Asequible
buy cialis in bangkok pharmacy get prescription online RxFree Meds
compra venta farmacias: Farmacia Asequible – veterinario valladolid barato
https://enclomiphenebestprice.com/# enclomiphene buy
enclomiphene citrate enclomiphene enclomiphene best price
best online cialis pharmacy: RxFree Meds – Eskalith
https://rxfreemeds.com/# RxFree Meds
comprar wegovy espaГ±a: Farmacia Asequible – prospecto movicol solucion oral
http://farmaciaasequible.com/# precio epiduo gel españa
Zerit: RxFree Meds – finpecia online pharmacy
farmacias sevilla la nueva farmacia gran parque Farmacia Asequible
http://farmaciaasequible.com/# Farmacia Asequible
Farmacia Asequible: cbd shop bilbao – Farmacia Asequible
cialis 5 mg opiniones: ozempic preis spanien – Farmacia Asequible
masters in pharmacy online RxFree Meds target pharmacy flonase
http://farmaciaasequible.com/# Farmacia Asequible
http://rxfreemeds.com/# RxFree Meds
us pharmacy ambien no prescription: RxFree Meds – RxFree Meds
enclomiphene price enclomiphene best price enclomiphene price
https://enclomiphenebestprice.shop/# enclomiphene price
enclomiphene buy: enclomiphene for men – enclomiphene price
RxFree Meds: RxFree Meds – sam’s club pharmacy
https://farmaciaasequible.com/# Farmacia Asequible
RxFree Meds kroger pharmacy simvastatin israel online pharmacy
pharmacy viagra joke: online pharmacy germany – online pharmacy uk viagra
https://enclomiphenebestprice.com/# enclomiphene buy
http://rxfreemeds.com/# RxFree Meds
ozempic 1 mg comprar online: ozempic 1 mg amazon – Farmacia Asequible
enclomiphene enclomiphene price enclomiphene buy
online pharmacy no prescription prozac: RxFree Meds – clindamycin target pharmacy
https://rxfreemeds.com/# RxFree Meds
diprogenta precio sin receta: reto vibrador – ocu cepillos electricos
misoprostol precio en farmacia espaГ±a farmacia directo Farmacia Asequible
https://farmaciaasequible.com/# Farmacia Asequible
https://farmaciaasequible.shop/# farmasi productos
RxFree Meds: australian pharmacy cialis – RxFree Meds
RxFree Meds: RxFree Meds – RxFree Meds
enclomiphene for men enclomiphene online enclomiphene online
categorias farmacia: Farmacia Asequible – Farmacia Asequible
when should a store close down a pharmacy?: buying percocet online pharmacy – quetiapine prices pharmacy
Farmacia Asequible pharma online farmacia cerca de mГ
http://enclomiphenebestprice.com/# enclomiphene online
movicol medicamento: Farmacia Asequible – promociones farma
enclomiphene citrate: enclomiphene citrate – enclomiphene best price
cialis american pharmacy good rx pharmacy discount card purchase adipex from an online pharmacy
https://farmaciaasequible.shop/# diu mirena precio euros
https://farmaciaasequible.shop/# Farmacia Asequible
RxFree Meds: cytotec pharmacy – buy lortab online pharmacy
enclomiphene online: buy enclomiphene online – enclomiphene
https://rxfreemeds.shop/# RxFree Meds
RxFree Meds: RxFree Meds – Maxolon
Farmacia Asequible mg precio espaГ±a Farmacia Asequible
australian pharmacy cialis: spanish pharmacy viagra – RxFree Meds
https://enclomiphenebestprice.shop/# enclomiphene buy
citrafleet precio 2 sobres: farmacia digital – parafarmacia on line
buy enclomiphene online enclomiphene enclomiphene for men
https://farmaciaasequible.com/# online farmacia espaГ±a
amar pharmacy rx: overseas pharmacy cialis – pharmacy online shopping usa
https://farmaciaasequible.com/# isdin antimanchas opiniones
enclomiphene enclomiphene for men enclomiphene online
enclomiphene for sale: enclomiphene – enclomiphene citrate
enclomiphene price: enclomiphene buy – enclomiphene buy
https://medismartpharmacy.shop/# best online pharmacy viagra
https://medismartpharmacy.shop/# online pharmacy uk metronidazole
MexiMeds Express best online pharmacies in mexico MexiMeds Express
IndoMeds USA: india pharmacy mail order – IndoMeds USA
canadian pharmacy drugs online: dapoxetine in dubai pharmacy – escrow pharmacy canada
https://meximedsexpress.com/# buying prescription drugs in mexico
pharmacy magazine warfarin MediSmart Pharmacy viagra us pharmacy online
mexico drug stores pharmacies: mexico drug stores pharmacies – MexiMeds Express
IndoMeds USA: world pharmacy india – top 10 pharmacies in india
https://medismartpharmacy.shop/# compounding pharmacy finasteride
http://meximedsexpress.com/# п»їbest mexican online pharmacies
MexiMeds Express: buying prescription drugs in mexico online – mexican online pharmacies prescription drugs
п»їbest mexican online pharmacies purple pharmacy mexico price list MexiMeds Express
http://medismartpharmacy.com/# online pharmacy brand viagra
purple pharmacy mexico price list: mexico drug stores pharmacies – MexiMeds Express
MexiMeds Express: medicine in mexico pharmacies – MexiMeds Express
top 10 pharmacies in india IndoMeds USA IndoMeds USA
https://meximedsexpress.com/# MexiMeds Express
https://medismartpharmacy.shop/# amlodipine online pharmacy
Online medicine home delivery: top online pharmacy india – indian pharmacy online
online pharmacy weight loss: MediSmart Pharmacy – Motilium
discount pharmacy viagra meloxicam pharmacy nps online pharmacy
https://meximedsexpress.com/# MexiMeds Express
reputable canadian online pharmacies: tylenol 3 pharmacy price – canadian online pharmacy reviews
arimidex online pharmacy: finasteride inhouse pharmacy – ketamine online pharmacy
world pharmacy store reviews MediSmart Pharmacy buying online pharmacy
https://meximedsexpress.com/# MexiMeds Express
https://indomedsusa.com/# IndoMeds USA
mexican mail order pharmacies: mexican pharmaceuticals online – reputable mexican pharmacies online
MexiMeds Express: buying prescription drugs in mexico online – medication from mexico pharmacy
https://meximedsexpress.com/# buying prescription drugs in mexico
MexiMeds Express MexiMeds Express mexican pharmaceuticals online
canadian pharmacy india: MediSmart Pharmacy – rate canadian pharmacies
reputable mexican pharmacies online: MexiMeds Express – п»їbest mexican online pharmacies
http://meximedsexpress.com/# MexiMeds Express