Created
November 27, 2012 17:28
-
-
Save endocrimes/4155707 to your computer and use it in GitHub Desktop.
Craig Reville New D3 JSON Format Force Graph with Pan And Zoom
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [ | |
| { | |
| "name": "Hotel Amfora", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 24.61060620890301 | |
| }, | |
| { | |
| "name": "Hotel Sol Garden Istra", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 21.109749511963543 | |
| }, | |
| { | |
| "name": "Medulin Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 2.048002925766195 | |
| }, | |
| { | |
| "name": "Hedera Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 12.632910371853344 | |
| }, | |
| { | |
| "name": "Narcis Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 12.632910371853344 | |
| }, | |
| { | |
| "name": "Pinija Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 39.841938286270604 | |
| }, | |
| { | |
| "name": "Mimosa Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 12.632910371853344 | |
| }, | |
| { | |
| "name": "Punta Complex - Villa Arausa Arausana Antonina", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 11.089439640805963 | |
| }, | |
| { | |
| "name": "Hotel Aurora", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 32.96218175228375 | |
| }, | |
| { | |
| "name": "Hotel Opatija", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 9.366215494520816 | |
| }, | |
| { | |
| "name": "Hotel Minerva", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 10.703440984986498 | |
| }, | |
| { | |
| "name": "Villa Erna", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 6.277442647273768 | |
| }, | |
| { | |
| "name": "Villa Amfora Dubrovnik", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 0.18232526019734197 | |
| }, | |
| { | |
| "name": "Grand Hotel Park", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 4.640514991762963 | |
| }, | |
| { | |
| "name": "Tragos Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 13.2363827176473 | |
| }, | |
| { | |
| "name": "Meteor Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 19.312037482297256 | |
| }, | |
| { | |
| "name": "Jupiter Luxury Hotel", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 0.4823466318885768 | |
| }, | |
| { | |
| "name": "Hotel Uvala", | |
| "cluster": 5, | |
| "supplier": "COSMOS", | |
| "size": 6.2073056676007665 | |
| }, | |
| { | |
| "name": "Hotel Lapad", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 6.1916812917323325 | |
| }, | |
| { | |
| "name": "Zagreb Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 16.47642695175482 | |
| }, | |
| { | |
| "name": "Grand Hotel Park", | |
| "cluster": 5, | |
| "supplier": "COSMOS", | |
| "size": 30.490791644173086 | |
| }, | |
| { | |
| "name": "Valdaliso Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 0.5213332077078686 | |
| }, | |
| { | |
| "name": "Lafodia Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 30.47965434958792 | |
| }, | |
| { | |
| "name": "Belvedere Resort", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 16.62400066462624 | |
| }, | |
| { | |
| "name": "Medena Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 26.969918028097315 | |
| }, | |
| { | |
| "name": "Plat Hotels & Villas", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 33.522442201261974 | |
| }, | |
| { | |
| "name": "Hotel Vis", | |
| "cluster": 3, | |
| "supplier": "ADRIATICA", | |
| "size": 4.478626981391491 | |
| }, | |
| { | |
| "name": "Hotel Nimfa", | |
| "cluster": 3, | |
| "supplier": "ADRIATICA", | |
| "size": 22.511098571911106 | |
| }, | |
| { | |
| "name": "Bluesun Hotel Marina", | |
| "cluster": 2, | |
| "supplier": "ADRIATICA", | |
| "size": 3.1252813640385493 | |
| }, | |
| { | |
| "name": "Hotel Jure", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 23.678692965112322 | |
| }, | |
| { | |
| "name": "Hotel Niko", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 23.678692965112322 | |
| }, | |
| { | |
| "name": "Hotel Ivan", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 23.678692965112322 | |
| }, | |
| { | |
| "name": "Hotel Istra", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 34.739368067844076 | |
| }, | |
| { | |
| "name": "Bluesun Hotel Bonaca", | |
| "cluster": 3, | |
| "supplier": "ADRIATICA", | |
| "size": 22.511098571911106 | |
| }, | |
| { | |
| "name": "Bluesun Hotel Elaphusa", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 10.62477891463976 | |
| }, | |
| { | |
| "name": "H. Valamar Dubrovnik President", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 0.47243083343909387 | |
| }, | |
| { | |
| "name": "Valamar Club Dubrovnik", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 0.47243083343909387 | |
| }, | |
| { | |
| "name": "Hotel Tirena", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 0.47243083343909387 | |
| }, | |
| { | |
| "name": "Hotel Neptun", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 10.62477891463976 | |
| }, | |
| { | |
| "name": "GH Park", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 10.62477891463976 | |
| }, | |
| { | |
| "name": "Hotel Adriatica", | |
| "cluster": 3, | |
| "supplier": "ADRIATICA", | |
| "size": 4.478626981391491 | |
| }, | |
| { | |
| "name": "Hotel Medulin", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 38.301587789412835 | |
| }, | |
| { | |
| "name": "Hotel Valamar Club Tamaris", | |
| "cluster": 1, | |
| "supplier": "ADRIATICA", | |
| "size": 12.76037163573029 | |
| }, | |
| { | |
| "name": "Hotel Mediteran", | |
| "cluster": 1, | |
| "supplier": "ADRIATICA", | |
| "size": 2.84722376663398 | |
| }, | |
| { | |
| "name": "Hotel Zorna", | |
| "cluster": 1, | |
| "supplier": "ADRIATICA", | |
| "size": 2.84722376663398 | |
| }, | |
| { | |
| "name": "Hotel Plavi", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 27.8674055732669 | |
| }, | |
| { | |
| "name": "Hotel Laguna Molindrio", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 27.8674055732669 | |
| }, | |
| { | |
| "name": "Hotel Laguna Albatros", | |
| "cluster": 1, | |
| "supplier": "ADRIATICA", | |
| "size": 7.900930813223489 | |
| }, | |
| { | |
| "name": "Hotel Pical", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 27.8674055732669 | |
| }, | |
| { | |
| "name": "Valamar Pinia", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 27.8674055732669 | |
| }, | |
| { | |
| "name": "Hotel Park ", | |
| "cluster": 1, | |
| "supplier": "ADRIATICA", | |
| "size": 2.0301937382456012 | |
| }, | |
| { | |
| "name": "Hotel Park Plaza Verudela", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 39.082348629052404 | |
| }, | |
| { | |
| "name": "Solaris Hotel Ivan", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 38.96207223941233 | |
| }, | |
| { | |
| "name": "Solaris Hotel Jure", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 39.23442359652966 | |
| }, | |
| { | |
| "name": "Solaris Hotel Niko", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 39.23442359652966 | |
| }, | |
| { | |
| "name": "Bluesun Hotel Borak", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 13.585315768565081 | |
| }, | |
| { | |
| "name": "Sagitta Holiday Village", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 9.05996665183995 | |
| }, | |
| { | |
| "name": "Marina Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 0.7491117396977666 | |
| }, | |
| { | |
| "name": "Croatia Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 5.913317008301845 | |
| }, | |
| { | |
| "name": "Iberostar Albatros Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 26.570900430595955 | |
| }, | |
| { | |
| "name": "Iberostar Epidaurus Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 25.859346277723407 | |
| }, | |
| { | |
| "name": "Astarea 1 Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 18.330111686036705 | |
| }, | |
| { | |
| "name": "Sumratin Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 7.772950063008145 | |
| }, | |
| { | |
| "name": "Ariston Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 6.126897062857405 | |
| }, | |
| { | |
| "name": "Dubrovnik Palace Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 6.290006100548356 | |
| }, | |
| { | |
| "name": "More Hotel Dubrovnik", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 6.11445786615146 | |
| }, | |
| { | |
| "name": "Rixos Libertas Dubrovnik", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 6.000262134393089 | |
| }, | |
| { | |
| "name": "Lero Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 27.38850534341179 | |
| }, | |
| { | |
| "name": "Splendid Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 27.99874681803565 | |
| }, | |
| { | |
| "name": "Uvala Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 27.94578258197135 | |
| }, | |
| { | |
| "name": "Berkeley Hotel Dubrovnik", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 16.822403222505088 | |
| }, | |
| { | |
| "name": "Dubrovnik Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 16.56979427703395 | |
| }, | |
| { | |
| "name": "Komodor Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 16.246957641326496 | |
| }, | |
| { | |
| "name": "Kompas Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 16.500515771648818 | |
| }, | |
| { | |
| "name": "Admiral Grand Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 6.090988869072623 | |
| }, | |
| { | |
| "name": "Grand Hotel Orebic", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 12.71709577841231 | |
| }, | |
| { | |
| "name": "Bellevue Hotel Orebic", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 11.572370226945752 | |
| }, | |
| { | |
| "name": "Feral Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 24.27545411917163 | |
| }, | |
| { | |
| "name": "Marco Polo Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 38.858332989609245 | |
| }, | |
| { | |
| "name": "Histria Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 0.9001340117385994 | |
| }, | |
| { | |
| "name": "Palma Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 0.41990062449402066 | |
| }, | |
| { | |
| "name": "Petalon Resort", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 16.781906158949845 | |
| }, | |
| { | |
| "name": "Pineta Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 0.5513457501545128 | |
| }, | |
| { | |
| "name": "Conte Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 18.911941678699534 | |
| }, | |
| { | |
| "name": "Podgorka Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 8.13548974524595 | |
| }, | |
| { | |
| "name": "Bella Vista Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 31.260251707289125 | |
| }, | |
| { | |
| "name": "Bluesun Apartments Alan", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 41.9148931836185 | |
| }, | |
| { | |
| "name": "Zora Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 22.03179128774822 | |
| }, | |
| { | |
| "name": "Solaris Hotel Andrija", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 38.739431047432554 | |
| }, | |
| { | |
| "name": "Solaris Hotel Jakov", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 11.6635314996583 | |
| }, | |
| { | |
| "name": "Olympia Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 40.2256691705552 | |
| }, | |
| { | |
| "name": "Bluesun Hotel Elaphusa", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 33.38184594042418 | |
| }, | |
| { | |
| "name": "Bluesun Hotel Bonaca", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 13.785575284191939 | |
| }, | |
| { | |
| "name": "Medena Apartments", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 41.226181736361184 | |
| }, | |
| { | |
| "name": "Vranjica Belvedere Apartments", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 42.709696026513605 | |
| }, | |
| { | |
| "name": "Diadem Aparthotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 22.35428776216786 | |
| }, | |
| { | |
| "name": "The Residence Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 7.458152672591799 | |
| }, | |
| { | |
| "name": "The View Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 2.865773849126679 | |
| }, | |
| { | |
| "name": "Family Apartments NOVI", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 3.8683900707646357 | |
| }, | |
| { | |
| "name": "Aurora Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 34.54555485006444 | |
| }, | |
| { | |
| "name": "Ambasador Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 3.489570795956313 | |
| }, | |
| { | |
| "name": "Admiral Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 16.22289292264573 | |
| }, | |
| { | |
| "name": "Kristal Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 16.17234450634215 | |
| }, | |
| { | |
| "name": "Cavtat Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 36.55632585863098 | |
| }, | |
| { | |
| "name": "Adriatic Hotel Dubrovnik", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 7.622963667798523 | |
| }, | |
| { | |
| "name": "Neptun Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 27.458497972473452 | |
| }, | |
| { | |
| "name": "Vis Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 16.2127868886996 | |
| }, | |
| { | |
| "name": "Liburna Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 8.749834249527268 | |
| }, | |
| { | |
| "name": "Eden Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 5.453327504505294 | |
| }, | |
| { | |
| "name": "Istra Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 5.433722331987239 | |
| }, | |
| { | |
| "name": "Park Hotel Rovinj", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 24.418813973370515 | |
| }, | |
| { | |
| "name": "Maestral Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 42.35876562362682 | |
| }, | |
| { | |
| "name": "Laguna Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 10.666943846176304 | |
| }, | |
| { | |
| "name": "Biokovo Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 23.29933695803927 | |
| }, | |
| { | |
| "name": "Dalmacija Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 23.357586369608217 | |
| }, | |
| { | |
| "name": "Minerva Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 8.13548974524595 | |
| }, | |
| { | |
| "name": "Imperial Hotel", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 0.708334815198992 | |
| }, | |
| { | |
| "name": "Punta Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 40.69890712051586 | |
| }, | |
| { | |
| "name": "Bluesun Hotel Alan", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 14.551349956930878 | |
| }, | |
| { | |
| "name": "Ilirija Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 44.091236471039544 | |
| }, | |
| { | |
| "name": "Adriatic Hotel Biograd n/m", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 10.247809099147211 | |
| }, | |
| { | |
| "name": "Miran Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 36.27571566904727 | |
| }, | |
| { | |
| "name": "Adriatiq Hotel Hvar", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 12.143989841740176 | |
| }, | |
| { | |
| "name": "Waterman Svpetrvs Resort", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 29.99225075315804 | |
| }, | |
| { | |
| "name": "Bluesun Hotel Neptun", | |
| "cluster": 3, | |
| "supplier": "ADRIATICA", | |
| "size": 18.61039471984463 | |
| }, | |
| { | |
| "name": "Hotel Podgorka", | |
| "cluster": 3, | |
| "supplier": "ADRIATICA", | |
| "size": 4.511785136822055 | |
| }, | |
| { | |
| "name": "Hotel Lero", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 10.62477891463976 | |
| }, | |
| { | |
| "name": "Bluesun Hotel Alga", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 12.851712661267783 | |
| }, | |
| { | |
| "name": "Hotel Meteor", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 0.4018211956465259 | |
| }, | |
| { | |
| "name": "Hotelsko naselje Waterman ", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 19.504045110591402 | |
| }, | |
| { | |
| "name": "Hotel Ariston ", | |
| "cluster": 4, | |
| "supplier": "ADRIATICA", | |
| "size": 10.62477891463976 | |
| }, | |
| { | |
| "name": "Hotel Punta", | |
| "cluster": 3, | |
| "supplier": "ADRIATICA", | |
| "size": 18.29378173592046 | |
| }, | |
| { | |
| "name": "Villa Katarina", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 0.8892048511910845 | |
| }, | |
| { | |
| "name": "Apartments Marina", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 0.6551159053194364 | |
| }, | |
| { | |
| "name": "Hilton Imperial Dubrovnik", | |
| "cluster": 5, | |
| "supplier": "COSMOS", | |
| "size": 15.193502558710799 | |
| }, | |
| { | |
| "name": "Hilton Imperial Dubrovnik", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 1.021087129770859 | |
| }, | |
| { | |
| "name": "Grand Villa Argentina", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 14.940320409949559 | |
| }, | |
| { | |
| "name": "Valamar Lacroma Dubrovnik", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 29.110330113996316 | |
| }, | |
| { | |
| "name": "Hotel As", | |
| "cluster": 1, | |
| "supplier": "OHG", | |
| "size": 0.12769391752518458 | |
| }, | |
| { | |
| "name": "Apartments Ana", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 1.1118764817944151 | |
| }, | |
| { | |
| "name": "Hotel Excelsior", | |
| "cluster": 5, | |
| "supplier": "ADRIATICA", | |
| "size": 14.86169320172874 | |
| }, | |
| { | |
| "name": "Hotel Dubrovnik Palace", | |
| "cluster": 5, | |
| "supplier": "COSMOS", | |
| "size": 15.51074204296165 | |
| }, | |
| { | |
| "name": "The Pucic Palace", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 3.649397035615403 | |
| }, | |
| { | |
| "name": "Hotel Luxe", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 0.48333426643988514 | |
| }, | |
| { | |
| "name": "Hotel Excelsior", | |
| "cluster": 6, | |
| "supplier": "ADRIATICA", | |
| "size": 45 | |
| }, | |
| { | |
| "name": "Hotel Argosy", | |
| "cluster": 5, | |
| "supplier": "ADRIATICA", | |
| "size": 27.686538668486758 | |
| }, | |
| { | |
| "name": "Kornati Hotel", | |
| "cluster": 2, | |
| "supplier": "OHG", | |
| "size": 44.091236471039544 | |
| }, | |
| { | |
| "name": "Korcula Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 8.758089957094851 | |
| }, | |
| { | |
| "name": "Astarea 2 Hotel", | |
| "cluster": 3, | |
| "supplier": "OHG", | |
| "size": 38.80484674385188 | |
| }, | |
| { | |
| "name": "Hotel Bellevue Dubrovnik", | |
| "cluster": 5, | |
| "supplier": "OHG", | |
| "size": 15.340601395260734 | |
| }, | |
| { | |
| "name": "Hotel Dubrovnik Palace", | |
| "cluster": 6, | |
| "supplier": "ADRIATICA", | |
| "size": 45 | |
| } | |
| ] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE HTML> | |
| <html lang="en"> | |
| <head> | |
| <title>Data-Driven Documents</title> | |
| <script src="http://d3js.org/d3.v3.min.js"></script> | |
| </head> | |
| <body> | |
| <script> | |
| // drawing the graph | |
| var drawthegraphthing = function(data, numclusters) { | |
| // basics | |
| var margin = {top: 0, right: 0, bottom: 0, left: 0}, | |
| width = 1352 - margin.left - margin.right, | |
| height = 630 - margin.top - margin.bottom; | |
| var n = data.length, | |
| m = numclusters, | |
| padding = 12, | |
| radius = d3.scale.sqrt().range([0, 8]), | |
| color = d3.scale.category10().domain(d3.range(m)); | |
| // cluster coloring | |
| var clusterColours = []; | |
| var getClusterColour = function(clusterName) { | |
| for (var cluster = 0; cluster < clusterColours.length; ++cluster) { | |
| if (clusterColours[cluster].name == clusterName) { | |
| return clusterColours[cluster].colour; | |
| } | |
| } | |
| var colour = { | |
| name: clusterName, | |
| colour: color(clusterColours.length) | |
| }; | |
| clusterColours.push(colour); | |
| return colour.colour; | |
| }; | |
| // nodes & svg's | |
| var nodes = d3.range(n).map(function(a, b, c, d, e) { | |
| var node = data[a]; | |
| return { | |
| data: node, | |
| color: getClusterColour(node.cluster), | |
| radius: radius(node.size) | |
| }; | |
| }); | |
| function svg() { | |
| this.style("left", function(d) { return d.x + "px"; }) | |
| } | |
| // defining the position | |
| function position() { | |
| this.style("left", function(d) { return d.x + "px"; }) | |
| .style("top", function(d) { return d.y + "px"; }) | |
| .style("width", function(d) { return Math.max(0, d.dx - 1) + "px"; }) | |
| .style("height", function(d) { return Math.max(0, d.dy - 1) + "px"; }); | |
| } | |
| // forced layout | |
| var force = d3.layout.force() | |
| .nodes(nodes) | |
| .size([width, height]) | |
| .gravity(0) | |
| .charge(0) | |
| .linkDistance(20) | |
| .on("tick", tick) | |
| .start(); | |
| // declaring | |
| var svg = d3.select("body").append("svg","div", "g") | |
| .append("g") | |
| .attr("width", width + margin.left + margin.right) | |
| .attr("height", height + margin.top + margin.bottom) | |
| .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); | |
| var body = d3.selectAll("body") | |
| .call(d3.behavior.zoom().scaleExtent([1, 168]).on("zoom", zoom)); | |
| // forming force | |
| var g = svg.selectAll("g") | |
| .data(nodes) | |
| .enter().append("g"); | |
| var circle = g | |
| .append("circle") | |
| .attr("r", function(d) { return d.radius; }) | |
| .style("fill", function(d) { return d.color; }); | |
| // text data | |
| g.insert("text") | |
| .attr("text-anchor", "middle") | |
| .text(function(d) { return d.data.name; }) | |
| .style("text-align", "center") | |
| .style("font-size", function(d) { return (2 * d.radius - 12) / this.getComputedTextLength() * 14 + "px"; }); | |
| function tick(e) { | |
| g | |
| .each(cluster(10 * e.alpha * e.alpha)) | |
| .each(collide(.5)) | |
| .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }); | |
| } | |
| g.call(force.drag) | |
| // Move d to be adjacent to the cluster node. | |
| function cluster(alpha) { | |
| var max = {}; | |
| // locating the largest node in each cluster set | |
| nodes.forEach(function(d) { | |
| if (!(d.color in max) || (d.radius > max[d.color].radius)) { | |
| max[d.color] = d; | |
| } | |
| }); | |
| return function(d) { | |
| var node = max[d.color], | |
| l, | |
| r, | |
| x, | |
| y, | |
| i = -1; | |
| if (node == d) return; | |
| x = d.x - node.x; | |
| y = d.y - node.y; | |
| l = Math.sqrt(x * x + y * y); | |
| r = d.radius + node.radius; | |
| if (l != r) { | |
| l = (l - r) / l * alpha; | |
| d.x -= x *= l; | |
| d.y -= y *= l; | |
| node.x += x; | |
| node.y += y; | |
| } | |
| }; | |
| } | |
| // resolving collisions | |
| function collide(alpha) { | |
| var quadtree = d3.geom.quadtree(nodes); | |
| return function(d) { | |
| var r = d.radius + radius.domain()[1] + padding, | |
| nx1 = d.x - r, | |
| nx2 = d.x + r, | |
| ny1 = d.y - r, | |
| ny2 = d.y + r; | |
| quadtree.visit(function(quad, x1, y1, x2, y2) { | |
| if (quad.point && (quad.point !== d)) { | |
| var x = d.x - quad.point.x, | |
| y = d.y - quad.point.y, | |
| l = Math.sqrt(x * x + y * y), | |
| r = d.radius + quad.point.radius + (d.color !== quad.point.color) * padding; | |
| if (l < r) { | |
| l = (l - r) / l * alpha; | |
| d.x -= x *= l; | |
| d.y -= y *= l; | |
| quad.point.x += x; | |
| quad.point.y += y; | |
| } | |
| } | |
| return x1 > nx2 | |
| || x2 < nx1 | |
| || y1 > ny2 | |
| || y2 < ny1; | |
| }); | |
| }; | |
| } | |
| // zoom & pan | |
| var x = d3.scale.linear() | |
| .domain([-width / 2, width / 2]) | |
| .range([0, width]); | |
| var y = d3.scale.linear() | |
| .domain([-height / 2, height / 2]) | |
| .range([height, 0]); | |
| svg.append("div") | |
| .attr("width", width) | |
| .attr("height", height); | |
| function zoom() { | |
| svg.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")"); | |
| } | |
| } | |
| // building the graph | |
| d3.json('./flare.json', function(err, data, root, error, div) { | |
| var nodeData = []; | |
| /* var clusters = data.children; | |
| for (var cluster = 0; cluster < clusters.length; ++cluster) { | |
| var suppliers = clusters[cluster].children; | |
| for (var supplier = 0; supplier < suppliers.length; ++supplier) { | |
| var products = suppliers[supplier].children; | |
| for (var product = 0; product < products.length; ++product) { | |
| var node = { | |
| cluster: clusters[cluster].name, | |
| supplier: suppliers[supplier].name, | |
| name: products[product].name, | |
| size: suppliers.length | |
| }; | |
| nodeData.push(node); | |
| } | |
| } | |
| } */ | |
| var jsonData = data; | |
| console.log (jsonData.length); | |
| for (var count = 0; count < jsonData.length; ++ count) { | |
| var node = { | |
| cluster: jsonData[count].cluster, | |
| supplier: jsonData[count].supplier, | |
| name: jsonData[count].name, | |
| size: jsonData[count].size | |
| } | |
| nodeData.push(node); | |
| } | |
| drawthegraphthing(nodeData, jsonData.length); | |
| //console.log(nodeData); | |
| }); | |
| </script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment