<svg width="800" height="720"></svg>

svg { 
/*   border: 2px solid #333; */
}

.links line {
/*   stroke: #999; */
  stroke-opacity: 0.6;
}

.nodes circle {
/*   stroke: #fff;
  stroke-width: 1.5px; */
}

text {
  font-family: sans-serif;
}

div.tooltip { 
  line-height: 1.4;
  position: absolute;
/*   background: #BBBBBB; */
  padding: 5px 18px 5px 5px;
  max-width: 325px;
  font-weight: 700;
  font-size: 0.8em;
  border: 0px;    
  border-radius: 1px;
  pointer-events: none;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.325), 0 1px 5px 0 rgba(0,0,0,0.325), 0 3px 1px -2px rgba(0,0,0,0.325);
}

div.tooltip p { margin: 0 0 2px 0; }
div.tooltip h3 { 
  margin: 0;
  border-bottom: 1px solid #333;
  font-size: 1.25em;
  font-weight: 700;
  margin-bottom: 10px;
  padding-bottom: 3px;
}
function createData() {
  var myData = {
    "nodes": [
 {"id":1,"organizationName":"Careem","acquirerName":"Uber","funding":771700000,"description":"Careem develops an app that helps commuters in Dubai find cars for hire.","exitDate":"3/26/2019","headquartersLocation":"Dubai, Dubai, United Arab Emirates","color":"#000000","nodeName":""},{"id":2,"organizationName":"HotelTonight","acquirerName":"Airbnb","funding":126885000,"description":"HotelTonight is a mobile hotel booking application that allows users to find and reserve same-day hotel rooms from their smartphones.","exitDate":"3/7/2019","headquartersLocation":"San Francisco, California, United States","color":"#ff5a5f","nodeName":""},{"id":3,"organizationName":"Tilt","acquirerName":"Airbnb","funding":62100000,"description":"Tilt allows users to pool funds for objectives in a simple, social, and frictionless way online.","exitDate":"2/23/2017","headquartersLocation":"San Francisco, California, United States","color":"#ff5a5f","nodeName":""},{"id":4,"organizationName":"Blue Vision Labs","acquirerName":"Lyft","funding":17000000,"description":"Blue Vision Labs is a technology-focused company creating next-generation machine perception technology.","exitDate":"10/23/2018","headquartersLocation":"London, England, United Kingdom","color":"#E71B8D","nodeName":""},{"id":5,"organizationName":"Kamcord","acquirerName":"Lyft","funding":35270000,"description":"Kamcord is a social media platform allowing its users to post and interact through video content.","exitDate":"11/17/2017","headquartersLocation":"San Francisco, California, United States","color":"#E71B8D","nodeName":""},{"id":6,"organizationName":"Astro Technology","acquirerName":"Slack","funding":10000000,"description":"Astro has been acquired by Slack! We’ve shut down our apps, but you can find us at Slack making email and channels work better together","exitDate":"9/24/2018","headquartersLocation":"Palo Alto, California, United States","color":"#602369","nodeName":""},{"id":7,"organizationName":"Luxury Retreats","acquirerName":"Airbnb","funding":16000000,"description":"Luxury Retreats is a full service villa rental company offering personalized villas for vacations in various destinations.","exitDate":"2/10/2017","headquartersLocation":"Montréal, Quebec, Canada","color":"#ff5a5f","nodeName":""},{"id":8,"organizationName":"Gaest.com","acquirerName":"Airbnb","funding":3500000,"description":"Founded in Aarhus, Denmark in 2015, Gaest.com is an online marketplace for unique spaces to work, learn, live and play around the world.","exitDate":"1/25/2019","headquartersLocation":"Aarhus, Midtjylland, Denmark","color":"#ff5a5f","nodeName":""},{"id":9,"organizationName":"Luckey","acquirerName":"Airbnb","funding":3273602,"description":"Luckey is a technology-focused short term rental manager.","exitDate":"12/11/2018","headquartersLocation":"Paris, Ile-de-France, France","color":"#ff5a5f","nodeName":""},{"id":10,"organizationName":"Trooly","acquirerName":"Airbnb","funding":10000000,"description":"Trooly delivers Instant Trust™ services that verify, screen and predict trustworthy relationships and interactions. #FinTech #P2P","exitDate":"6/16/2017","headquartersLocation":"Los Altos, California, United States","color":"#ff5a5f","nodeName":""},{"id":11,"organizationName":"Kimono Labs","acquirerName":"Palantir Technologies","funding":5000000,"description":"Kimono Labs is an online platform that allows its users to convert their websites into APIs.","exitDate":"2/15/2016","headquartersLocation":"San Francisco, California, United States","color":"#F8F8F8","nodeName":""},{"id":12,"organizationName":"deCarta","acquirerName":"Uber","funding":62663148,"description":"deCarta provides geospatial software platforms that power internet, mobile, personal navigation, and location-based service applications.","exitDate":"3/3/2015","headquartersLocation":"San Jose, California, United States","color":"#000000","nodeName":""},{"id":13,"organizationName":"Trip4real","acquirerName":"Airbnb","funding":3132649,"description":"Experience Europe like a local. Book tours and activities hosted by local insiders across Europe and experience a place like you live there.","exitDate":"9/19/2016","headquartersLocation":"Barcelona, Catalonia, Spain","color":"#ff5a5f","nodeName":""},{"id":14,"organizationName":"Cherry","acquirerName":"Lyft","funding":5250000,"description":"Cherry, an on-demand car wash service, allows customers to park anywhere, check in online, and have their car washed where they left it.","exitDate":"3/26/2013","headquartersLocation":"San Francisco, California, United States","color":"#E71B8D","nodeName":""},{"id":15,"organizationName":"Silk","acquirerName":"Palantir Technologies","funding":3655900,"description":"Silk is a cloud-based application that enables users to visualize their data online by the way of interactive web pages.","exitDate":"8/10/2016","headquartersLocation":"Amsterdam, Noord-Holland, The Netherlands","color":"#F8F8F8","nodeName":""},{"id":16,"organizationName":"Sosh","acquirerName":"Postmates","funding":16254000,"description":"Sosh is a social mobile app that enables members to discover local activities, events and places.","exitDate":"11/5/2015","headquartersLocation":"San Francisco, California, United States","color":"#F5E7DA","nodeName":""},{"id":17,"organizationName":"URX","acquirerName":"Pinterest","funding":15220000,"description":"URX drives mobile commerce through relevant product ads.","exitDate":"5/3/2016","headquartersLocation":"San Francisco, California, United States","color":"#E40B26","nodeName":""},{"id":18,"organizationName":"Accomable","acquirerName":"Airbnb","funding":458130,"description":"Accomable is an online marketplace for accessible properties and travel services to help people with mobility difficulties.","exitDate":"11/16/2017","headquartersLocation":"London, England, United Kingdom","color":"#ff5a5f","nodeName":""},{"id":19,"organizationName":"JUMP Bikes","acquirerName":"Uber","funding":11625000,"description":"JUMP Bikes is a pedal-assist e-bikes that don’t require docking stations.","exitDate":"4/4/2018","headquartersLocation":"New York, New York, United States","color":"#000000","nodeName":""},{"id":20,"organizationName":"Screenhero","acquirerName":"Slack","funding":1800000,"description":"Screenhero provides real-time collaboration web tools.","exitDate":"1/28/2015","headquartersLocation":"Mountain View, California, United States","color":"#602369","nodeName":""},{"id":21,"organizationName":"ChangeCoin","acquirerName":"Airbnb","funding":4250000,"description":"ChangeCoin is a micropayment infrastructure for the Internet.","exitDate":"4/13/2016","headquartersLocation":"San Francisco, California, United States","color":"#ff5a5f","nodeName":""},{"id":22,"organizationName":"HipChat","acquirerName":"Slack","funding":100000,"description":"HipChat is a private group chat and IM network that provides real-time collaboration features for companies and teams.","exitDate":"7/27/2018","headquartersLocation":"San Francisco, California, United States","color":"#602369","nodeName":""},{"id":23,"organizationName":"Complex Polygon","acquirerName":"Uber","funding":1700000,"description":"Complex Polygon is a product studio based in San Francisco, California.","exitDate":"7/14/2017","headquartersLocation":"San Francisco, California, United States","color":"#000000","nodeName":""},{"id":24,"organizationName":"YesGraph","acquirerName":"Lyft","funding":2300000,"description":"YesGraph can boost your company's growth with high-performance invite and referral flows.","exitDate":"8/10/2017","headquartersLocation":"Palo Alto, California, United States","color":"#E71B8D","nodeName":""},{"id":25,"organizationName":"Neumob","acquirerName":"Cloudflare","funding":10900000,"description":"Neumob is the leader in reducing mobile app errors, speeding up app performance and boosting conversions.","exitDate":"11/14/2017","headquartersLocation":"Sunnyvale, California, United States","color":"#F1812D","nodeName":""},{"id":26,"organizationName":"Swipe Labs","acquirerName":"Uber","funding":8200000,"description":"Swipe allows users to share private photos and videos that wouldn’t get posted on Facebook.","exitDate":"7/14/2017","headquartersLocation":"San Francisco, California, United States","color":"#000000","nodeName":""},{"id":27,"organizationName":"Hey! Inc.","acquirerName":"Postmates","funding":5500000,"description":"Heyday is an automatic journal enabling people to keep track of the places they visit and the things they see.","exitDate":"7/18/2016","headquartersLocation":"San Francisco, California, United States","color":"#F5E7DA","nodeName":""},{"id":28,"organizationName":"Vamo","acquirerName":"Airbnb","funding":1600000,"description":"Vamo is an event discovery platform providing users with information that help them plan vacations.","exitDate":"9/11/2015","headquartersLocation":"Seattle, Washington, United States","color":"#ff5a5f","nodeName":""},{"id":29,"organizationName":"DailyBooth","acquirerName":"Airbnb","funding":7015000,"description":"DailyBooth was a photoblogging website that enabled its users to take photos of themselves.","exitDate":"7/24/2012","headquartersLocation":"San Francisco, California, United States","color":"#ff5a5f","nodeName":""},{"id":30,"organizationName":"Livestar","acquirerName":"Pinterest","funding":2000000,"description":"Livestar is a mobile app that lets users get movie, music, app, restaurant and other recommendations instantly from critics and friends.","exitDate":"3/20/2013","headquartersLocation":"New York, New York, United States","color":"#E40B26","nodeName":""},{"id":31,"organizationName":"Strikedeck","acquirerName":"Medallia","description":"Strikedeck is building a revolutionary Customer Success automation solution to deliver an outstanding customer experience.","exitDate":"5/8/2019","headquartersLocation":"Sunnyvale, California, United States","color":"#1EB9E5","nodeName":""},{"id":32,"organizationName":"Localmind","acquirerName":"Airbnb","funding":650304,"description":"Localmind is a location-based information platform providing real-time answers for destination-related queries.","exitDate":"12/1/2012","headquartersLocation":"San Francisco, California, United States","color":"#ff5a5f","nodeName":""},{"id":33,"organizationName":"Fleksy Inc. (Closed)","acquirerName":"Pinterest","funding":5900000,"description":"Fleksy is a third party virtual keyboard and input method for mobile devices.","exitDate":"6/15/2016","color":"#E40B26","nodeName":""},{"id":34,"organizationName":"Leo","acquirerName":"Lyft","funding":1500000,"description":"Leo offers a disappearing messaging app and ultra-lightweight platform for one-on-one and group conversations on iOS and Android devices.","exitDate":"6/26/2015","headquartersLocation":"San Francisco, California, United States","color":"#E71B8D","nodeName":""},{"id":35,"organizationName":"Bold","acquirerName":"Postmates","funding":1000000,"description":"Bold is a a publishing and editing platform for enterprise.","exitDate":"6/10/2017","headquartersLocation":"San Francisco, California, United States","color":"#F5E7DA","nodeName":""},{"id":36,"organizationName":"Hitch","acquirerName":"Lyft","funding":600000,"description":"Hitch is a fun and affordable way to get around SF by sharing your ride.","exitDate":"9/22/2014","headquartersLocation":"San Francisco, California, United States","color":"#E71B8D","nodeName":""},{"id":37,"organizationName":"Poptip","acquirerName":"Palantir Technologies","funding":2410000,"description":"Poptip analyzes and synthesizes social conversations in real-time to enable brands to understand people's opinions.","exitDate":"7/29/2014","headquartersLocation":"New York, New York, United States","color":"#F8F8F8","nodeName":""},{"id":38,"organizationName":"StopTheHacker","acquirerName":"Cloudflare","funding":1100000,"description":"StopTheHacker is a technology startup specializing in malware detection and web security solutions.","exitDate":"2/24/2014","headquartersLocation":"Burlingame, California, United States","color":"#F1812D","nodeName":""},{"id":39,"organizationName":"Propeller","acquirerName":"Palantir Technologies","funding":1250000,"description":"Propeller is a web platform for creating and updating applications using a drag-and-drop interface.","exitDate":"7/31/2014","headquartersLocation":"San Francisco, California, United States","color":"#F8F8F8","nodeName":""},{"id":40,"organizationName":"Fondu","acquirerName":"Airbnb","funding":575000,"description":"Fondu is an online community for sharing bite-sized reviews about places to eat and drink.","exitDate":"10/3/2012","headquartersLocation":"New York, New York, United States","color":"#ff5a5f","nodeName":""},{"id":41,"organizationName":"Rover","acquirerName":"Lyft","funding":120000,"description":"Rover tracks real-time positions of buses, trains, and taxis, and provides directions that make sense right now.","exitDate":"4/1/2014","headquartersLocation":"San Francisco, California, United States","color":"#E71B8D","nodeName":""},{"id":42,"organizationName":"Motivate","acquirerName":"Lyft","description":"Motivate is a full-service bike share operator and technology innovator.","exitDate":"6/1/2018","headquartersLocation":"Brooklyn, New York, United States","color":"#E71B8D","nodeName":""},{"id":43,"organizationName":"Health Care DataWorks","acquirerName":"Health Catalyst","funding":4999541,"description":"Health Care DataWorks offers business intelligence solutions and empowers healthcare organizations to optimize their operations.","exitDate":"8/5/2015","headquartersLocation":"Columbus, Ohio, United States","color":"#0F70A7","nodeName":""},{"id":44,"organizationName":"CryptoSeal","acquirerName":"Cloudflare","funding":280000,"description":"CryptoSeal provides Virtual Private Networks (VPNs) as a service.","exitDate":"6/18/2014","headquartersLocation":"Mountain View, California, United States","color":"#F1812D","nodeName":""},{"id":45,"organizationName":"Hackermeter","acquirerName":"Pinterest","funding":120000,"description":"Hackermeter operates a Website where developers take code challenges Meritocracy for developers.","exitDate":"10/11/2013","headquartersLocation":"San Francisco, California, United States","color":"#E40B26","nodeName":""},{"id":46,"organizationName":"MarketSnacks","acquirerName":"Robinhood","description":"MarketSnacks is the digestible daily newsletter that simplifies Wall Street","exitDate":"3/25/2019","headquartersLocation":"New York, New York, United States","color":"#26C996","nodeName":""},{"id":47,"organizationName":"Icebergs","acquirerName":"Pinterest","funding":260533,"description":"Icebergs is a web-based application that enables its users to organize their projects, research, and inspirations.","exitDate":"7/30/2014","headquartersLocation":"Barcelona, Catalonia, Spain","color":"#E40B26","nodeName":""},{"id":48,"organizationName":"Geometric Intelligence","acquirerName":"Uber","description":"Geometric Intelligence is redefining the boundaries of machine learning through innovative, patent-pending techniques.","exitDate":"12/5/2016","headquartersLocation":"New York, New York, United States","color":"#000000","nodeName":""},{"id":49,"organizationName":"Stride","acquirerName":"Slack","description":"Stride is a cloud-based team business communication and collaboration tool.","exitDate":"7/27/2018","headquartersLocation":"San Francisco, California, United States","color":"#602369","nodeName":""},{"id":50,"organizationName":"Instapaper","acquirerName":"Pinterest","description":"Instapaper is a web application that allows users to save online content for future references.","exitDate":"8/23/2016","headquartersLocation":"New York, New York, United States","color":"#E40B26","nodeName":""},{"id":51,"organizationName":"DataScore","acquirerName":"Lyft","description":"DataScore is a predictive analytics platform for data-driven marketers.","exitDate":"8/10/2017","headquartersLocation":"San Francisco, California, United States","color":"#E71B8D","nodeName":""},{"id":52,"organizationName":"Jelly HQ","acquirerName":"Pinterest","description":"A search engine for busy people.","exitDate":"3/8/2017","headquartersLocation":"San Francisco, California, United States","color":"#E40B26","nodeName":""},{"id":53,"organizationName":"Neurotic Media","acquirerName":"Peloton","description":"Neurotic Media helps brands and mobile companies influence consumer behavior using popular songs and artists.","exitDate":"6/27/2018","headquartersLocation":"Atlanta, Georgia, United States","color":"#FC364D","nodeName":""},{"id":54,"organizationName":"Kampyle","acquirerName":"Medallia","funding":1000000,"description":"Kampyle is a complete customer feedback platform that helps digital enterprises listen, understand, and act across all digital touchpoints.","exitDate":"10/20/2016","headquartersLocation":"Ramat Gan, Tel Aviv, Israel","color":"#1EB9E5","nodeName":""},{"id":55,"organizationName":"Medicity","acquirerName":"Health Catalyst","description":"Medicity is a company working with the healthcare industry to manage practical aspects of their systems.","exitDate":"5/4/2018","headquartersLocation":"Salt Lake City, Utah, United States","color":"#0F70A7","nodeName":""},{"id":56,"organizationName":"Missions","acquirerName":"Slack","description":"Missions is an enterprise software startup.","exitDate":"7/17/2018","headquartersLocation":"Castle Rock, Colorado, United States","color":"#602369","nodeName":""},{"id":57,"organizationName":"Kosei","acquirerName":"Pinterest","description":"Smarter, personalized mobile ads.","exitDate":"1/21/2015","headquartersLocation":"Palo Alto, California, United States","color":"#E40B26","nodeName":""},{"id":58,"organizationName":"Accoleo","acquirerName":"Airbnb","description":"Accoleo is a German platform that allows students to rent out their flats, extra beds, or couches to other students.","exitDate":"6/1/2011","headquartersLocation":"Koblenz, Rheinland-Pfalz, Germany","color":"#ff5a5f","nodeName":""},{"id":59,"organizationName":"Deco Software","acquirerName":"Airbnb","description":"Build incredible mobile apps in less time","exitDate":"5/2/2017","headquartersLocation":"San Francisco, California, United States","color":"#ff5a5f","nodeName":""},{"id":60,"organizationName":"Crashpadder","acquirerName":"Airbnb","description":"Crashpadder is a website that helps people find rooms and hotels to rent.","exitDate":"3/20/2012","headquartersLocation":"London, England, United Kingdom","color":"#ff5a5f","nodeName":""},{"id":61,"organizationName":"tote","acquirerName":"Pinterest","description":"Shop fashion curated by bloggers, influencers and friends","exitDate":"6/22/2016","headquartersLocation":"Sunnyvale, California, United States","color":"#E40B26","nodeName":""},{"id":62,"organizationName":"Spaces","acquirerName":"Slack","description":"Program that allows remote workers collaborate on the same document simultaneously.","exitDate":"9/26/2014","headquartersLocation":"San Francisco, California, United States","color":"#602369","nodeName":""},{"id":63,"organizationName":"FinitePaths Inc.","acquirerName":"Lyft","description":"Being your trusted companion through everyday decisions","exitDate":"3/20/2017","headquartersLocation":"San Jose, California, United States","color":"#E71B8D","nodeName":""},{"id":64,"organizationName":"Curator & Co","acquirerName":"Pinterest","description":"A fast and visual tool for creative thinking.","exitDate":"4/21/2016","color":"#E40B26","nodeName":""},{"id":65,"organizationName":"Payload Security","acquirerName":"CrowdStrike","description":"Payload Security an automated malware analysis system for enterprises, governments, universities, SOCs and IR teams.","exitDate":"11/15/2017","headquartersLocation":"Hamburg, Hamburg, Germany","color":"#E9362F","nodeName":""},{"id":66,"organizationName":"Lapka","acquirerName":"Airbnb","description":"Lapka designs and manufactures smartphone-assisted breathalyzer and concept sensor nodes including radiation and EMF sensors.","exitDate":"9/29/2015","headquartersLocation":"San Francisco, California, United States","color":"#ff5a5f","nodeName":""},{"id":67,"organizationName":"Eager","acquirerName":"Cloudflare","description":"Improve your website with free plugins you can install in seconds. No coding required.","exitDate":"12/13/2016","headquartersLocation":"Cambridge, Massachusetts, United States","color":"#F1812D","nodeName":""},{"id":68,"organizationName":"FT Technologies","acquirerName":"Palantir Technologies","description":"FT Tech provides retailers the ability to compete in today’s omnichannel world and make their brick-and-mortar operations more efficient.","exitDate":"2/6/2015","headquartersLocation":"Palo Alto, California, United States","color":"#F8F8F8","nodeName":""},{"id":69,"organizationName":"Voicegem","acquirerName":"Palantir Technologies","description":"Voicegem is a web and iOS based voice messaging platform.","exitDate":"2/16/2013","headquartersLocation":"Mountain View, California, United States","color":"#F8F8F8","nodeName":""},{"id":70,"organizationName":"NabeWise","acquirerName":"Airbnb","description":"Nabewise is a neighborhood discovery platform for people who are moving or traveling.","exitDate":"7/1/2012","headquartersLocation":"New York, New York, United States","color":"#ff5a5f","nodeName":""},{"id":71,"organizationName":"Pencil Labs","acquirerName":"Airbnb","description":"Pencil Labs is the creator of Wyth, the schedule maker app.","exitDate":"12/2/2014","headquartersLocation":"Cambridge, Massachusetts, United States","color":"#ff5a5f","nodeName":""},{"id":72,"organizationName":"Pext","acquirerName":"Pinterest","description":"Instantly turn messages into memes.","exitDate":"12/8/2015","headquartersLocation":"San Francisco, California, United States","color":"#E40B26","nodeName":""},{"id":73,"organizationName":"Otto","acquirerName":"Uber","description":"Otto is designing a new approach to modern transportation, starting with self-driving trucks.","exitDate":"8/18/2016","headquartersLocation":"San Francisco, California, United States","color":"#000000","nodeName":""},{"id":74,"organizationName":"Punchfork","acquirerName":"Pinterest","description":"Punchfork enables users to discover recipes from top food sites and share them with friends.","exitDate":"1/3/2013","headquartersLocation":"Palo Alto, California, United States","color":"#E40B26","nodeName":""},{"id":75,"organizationName":"Event Enrichment HQ","acquirerName":"PagerDuty","description":"Event Enrichment HQ is operates an event enrichment platform for IT operations.","exitDate":"11/3/2015","headquartersLocation":"San Francisco, California, United States","color":"#24C150","nodeName":""},{"id":76,"organizationName":"Hike Labs","acquirerName":"Pinterest","description":"Hike Labs is a company which develops and offers a mobile blogging and publishing application.","exitDate":"4/3/2015","headquartersLocation":"San Francisco, California, United States","color":"#E40B26","nodeName":""},{"id":77,"organizationName":"Math Camp","acquirerName":"Pinterest","description":"Math Camp develops social discovery, and photography apps.","exitDate":"7/15/2016","headquartersLocation":"San Francisco, California, United States","color":"#E40B26","nodeName":""},{"id":78,"organizationName":"VisualGraph","acquirerName":"Pinterest","description":"VisualGraph is a social network to connect inspirational images together.","exitDate":"1/6/2014","headquartersLocation":"San Francisco, California, United States","color":"#E40B26","nodeName":""},{"id":79,"organizationName":"AdBasis","acquirerName":"Airbnb","description":"Adbasis is a controlled testing environment and analytics tool for A/B and multivariate tests on search, display, and mobile ads.","exitDate":"11/16/2017","headquartersLocation":"Chicago, Illinois, United States","color":"#ff5a5f","nodeName":""},{"id":80,"organizationName":"Conductor","acquirerName":"The We Company","funding":60648126,"description":"Conductor is a content intelligence platform that enables marketers to create great content, drive qualified traffic, and increase ROI.","exitDate":"3/6/2018","headquartersLocation":"New York, New York, United States","color":"#000000","nodeName":""},{"id":81,"organizationName":"Teem","acquirerName":"The We Company","funding":21500000,"description":"Formerly EventBoard, Teem is reinventing the way meeting rooms are managed.","exitDate":"9/12/2018","headquartersLocation":"Salt Lake City, Utah, United States","color":"#000000","nodeName":""},{"id":82,"organizationName":"Meetup","acquirerName":"The We Company","funding":18300000,"description":"Meetup brings people together in thousands of cities to do more of what they want to do in life.","exitDate":"11/28/2017","headquartersLocation":"New York, New York, United States","color":"#000000","nodeName":""},{"id":83,"organizationName":"Euclid","acquirerName":"The We Company","funding":43600000,"description":"Euclid is a spatial analytics platform that uses WiFi signals to understand how people relate to spaces and how spaces relate to each other.","exitDate":"2/7/2019","headquartersLocation":"San Francisco, California, United States","color":"#000000","nodeName":""},{"id":84,"organizationName":"Flatiron School","acquirerName":"The We Company","funding":14500000,"description":"The Flatiron School trains highly motivated individuals in web application development. They teach best practices in Ruby, Rails,","exitDate":"10/23/2017","headquartersLocation":"New York, New York, United States","color":"#000000","nodeName":""},{"id":85,"organizationName":"MissionU","acquirerName":"The We Company","funding":11500000,"description":"MissionU is a college alternative that gives students the skills and experience needed to succeed in today’s competitive working world.","exitDate":"5/16/2018","headquartersLocation":"San Francisco, California, United States","color":"#000000","nodeName":""},{"id":86,"organizationName":"Fieldlens","acquirerName":"The We Company","funding":12910000,"description":"Fieldlens offers a tool that improves communication and collaboration for construction project teams.","exitDate":"6/7/2017","headquartersLocation":"New York, New York, United States","color":"#000000","nodeName":""},{"id":87,"organizationName":"Unomy","acquirerName":"The We Company","funding":4400000,"description":"Unomy is a unique Sales & Marketing Intelligence platform that helps online businesses gather, retain and process information about their","exitDate":"8/11/2017","headquartersLocation":"Tel Aviv, Tel Aviv, Israel","color":"#000000","nodeName":""},{"id":88,"organizationName":"Managed by Q","acquirerName":"The We Company","funding":97425000,"description":"Managed by Q provides subscription and on-demand office services, from cleaning and maintenance to supply replenishment and wellness.","exitDate":"4/4/2019","headquartersLocation":"New York, New York, United States","color":"#000000","nodeName":""},{"id":89,"organizationName":"Naked Hub","acquirerName":"The We Company","funding":33000000,"description":"Naked Hub is a platform that helps start-ups, SMEs, and MNCs across all industries, to increase their success in business.","exitDate":"4/11/2018","headquartersLocation":"Shanghai, Shanghai, China","color":"#000000","nodeName":""},{"id":90,"organizationName":"Spacemob","acquirerName":"The We Company","funding":5500000,"description":"Spacemob is a coworking space that builds foundations for businesses through space, technology, and connections.","exitDate":"8/6/2017","headquartersLocation":"Singapore, Central Region, Singapore","color":"#000000","nodeName":""},{"id":91,"organizationName":"Case","acquirerName":"The We Company","funding":2250000,"description":"Case is a multi-signature hardware wallet that is GSM-enabled and biometrically protected for securing digital assets","headquartersLocation":"Rochester, New York, United States","color":"#000000","nodeName":""},{"id":92,"organizationName":"Welkio","acquirerName":"The We Company","funding":400000,"description":"Modern Visitor Registration For iPad","exitDate":"3/18/2016","headquartersLocation":"San Luis Obispo, California, United States","color":"#000000","nodeName":""},{"id":93,"organizationName":"Uber","acquirerName":"N/A","funding":24712450000,"description":"Uber develops, markets, and operates a ride-sharing mobile application that allows consumers to submit a trip request.","exitDate":"5/10/2019","headquartersLocation":"San Francisco, California, United States","color":"#000000","nodeName":"Uber"},{"id":94,"organizationName":"Robinhood","acquirerName":"N/A","funding":539000000,"description":"Robinhood is a stock brokerage that allows customers to buy and sell U.S. listed stocks and ETFs with zero commission.","headquartersLocation":"Menlo Park, California, United States","color":"#26C996","nodeName":"Robinhood"},{"id":95,"organizationName":"Airbnb","acquirerName":"N/A","funding":4398082100,"description":"Airbnb is an online community marketplace for people to list, discover, and book accommodations around the world.","headquartersLocation":"San Francisco, California, United States","color":"#ff5a5f","nodeName":"Airbnb"},{"id":96,"organizationName":"Lyft","acquirerName":"N/A","funding":4912500000,"description":"Lyft designs, markets, and operates a mobile application that matches drivers with passengers who request rides.","exitDate":"3/29/2019","headquartersLocation":"San Francisco, California, United States","color":"#E71B8D","nodeName":"Lyft"},{"id":97,"organizationName":"Postmates","acquirerName":"N/A","funding":678010000,"description":"Postmates powers local, on-demand logistics focused on fast deliveries from any type of merchant at scale.","headquartersLocation":"San Francisco, California, United States","color":"#F5E7DA","nodeName":"Postmates"},{"id":98,"organizationName":"Pinterest","acquirerName":"N/A","funding":1466100000,"description":"Pinterest is a visual bookmarking tool for saving and discovering creative ideas.","exitDate":"4/18/2019","headquartersLocation":"San Francisco, California, United States","color":"#E40B26","nodeName":"Pinterest"},{"id":99,"organizationName":"Medallia","acquirerName":"N/A","funding":325000000,"description":"Medallia provides software-as-a-service customer experience management.","headquartersLocation":"San Mateo, California, United States","color":"#1EB9E5","nodeName":"Medallia"},{"id":100,"organizationName":"Slack","acquirerName":"N/A","funding":1391100000,"description":"Slack is an enterprise software platform that allows teams and businesses of all sizes to communicate effectively.","headquartersLocation":"San Francisco, California, United States","color":"#602369","nodeName":"Slack"},{"id":101,"organizationName":"Cloudflare","acquirerName":"N/A","funding":332050000,"description":"Cloudflare is a web performance and security company that provides online services to protect and accelerate websites online.","headquartersLocation":"San Francisco, California, United States","color":"#F1812D","nodeName":"Cloudflare"},{"id":102,"organizationName":"CrowdStrike","acquirerName":"N/A","funding":481000000,"description":"CrowdStrike is a cybersecurity technology firm pioneering cloud delivered next-generation endpoint protection and services.","headquartersLocation":"Sunnyvale, California, United States","color":"#E9362F","nodeName":"CrowdStrike"},{"id":103,"organizationName":"Health Catalyst","acquirerName":"N/A","funding":377000000,"description":"Health Catalyst is a tech platform that organizes and links health-related data from different systems and makes it available for all users.","headquartersLocation":"Salt Lake City, Utah, United States","color":"#0F70A7","nodeName":"Health"},{"id":104,"organizationName":"PagerDuty","acquirerName":"N/A","funding":173600000,"description":"PagerDuty is an operations performance platform delivering visibility and actionable intelligence across the entire incident lifecycle.","exitDate":"4/10/2019","headquartersLocation":"San Francisco, California, United States","color":"#24C150","nodeName":"PagerDuty"},{"id":105,"organizationName":"Palantir Technologies","acquirerName":"N/A","funding":2028910015,"description":"Palantir Technologies offers a suite of software applications for integrating, visualizing, and analyzing information.","headquartersLocation":"Palo Alto, California, United States","color":"#F8F8F8","nodeName":"Palantir"},{"id":106,"organizationName":"Peloton","acquirerName":"N/A","funding":994707000,"description":"Peloton uses technology and design to connect the world through fitness, empowering people to be the best version of themselves.","headquartersLocation":"New York, New York, United States","color":"#FC364D","nodeName":"Peloton"},{"id":107,"organizationName":"The We Company","acquirerName":"N/A","funding":12800000000,"description":"The We Company is a platform for creators that transforms buildings into dynamic environments for creativity, focus, and collaboration.","headquartersLocation":"New York, New York, United States","color":"#000000","nodeName":"WeWork"}],
    "links": [
 {"target":1,"source":93,"linkType":1},{"target":2,"source":95,"linkType":1},{"target":3,"source":95,"linkType":1},{"target":4,"source":96,"linkType":1},{"target":5,"source":96,"linkType":1},{"target":6,"source":100,"linkType":1},{"target":7,"source":95,"linkType":1},{"target":8,"source":95,"linkType":1},{"target":9,"source":95,"linkType":1},{"target":10,"source":95,"linkType":1},{"target":11,"source":105,"linkType":1},{"target":12,"source":93,"linkType":1},{"target":13,"source":95,"linkType":1},{"target":14,"source":96,"linkType":1},{"target":15,"source":105,"linkType":1},{"target":16,"source":97,"linkType":1},{"target":17,"source":98,"linkType":1},{"target":18,"source":95,"linkType":1},{"target":19,"source":93,"linkType":1},{"target":20,"source":100,"linkType":1},{"target":21,"source":95,"linkType":1},{"target":22,"source":100,"linkType":1},{"target":23,"source":93,"linkType":1},{"target":24,"source":96,"linkType":1},{"target":25,"source":101,"linkType":1},{"target":26,"source":93,"linkType":1},{"target":27,"source":97,"linkType":1},{"target":28,"source":95,"linkType":1},{"target":29,"source":95,"linkType":1},{"target":30,"source":98,"linkType":1},{"target":31,"source":99,"linkType":1},{"target":32,"source":95,"linkType":1},{"target":33,"source":98,"linkType":1},{"target":34,"source":96,"linkType":1},{"target":35,"source":97,"linkType":1},{"target":36,"source":96,"linkType":1},{"target":37,"source":105,"linkType":1},{"target":38,"source":101,"linkType":1},{"target":39,"source":105,"linkType":1},{"target":40,"source":95,"linkType":1},{"target":41,"source":96,"linkType":1},{"target":42,"source":96,"linkType":1},{"target":43,"source":103,"linkType":1},{"target":44,"source":101,"linkType":1},{"target":45,"source":98,"linkType":1},{"target":46,"source":94,"linkType":1},{"target":47,"source":98,"linkType":1},{"target":48,"source":93,"linkType":1},{"target":49,"source":100,"linkType":1},{"target":50,"source":98,"linkType":1},{"target":51,"source":96,"linkType":1},{"target":52,"source":98,"linkType":1},{"target":53,"source":106,"linkType":1},{"target":54,"source":99,"linkType":1},{"target":55,"source":103,"linkType":1},{"target":56,"source":100,"linkType":1},{"target":57,"source":98,"linkType":1},{"target":58,"source":95,"linkType":1},{"target":59,"source":95,"linkType":1},{"target":60,"source":95,"linkType":1},{"target":61,"source":98,"linkType":1},{"target":62,"source":100,"linkType":1},{"target":63,"source":96,"linkType":1},{"target":64,"source":98,"linkType":1},{"target":65,"source":102,"linkType":1},{"target":66,"source":95,"linkType":1},{"target":67,"source":101,"linkType":1},{"target":68,"source":105,"linkType":1},{"target":69,"source":105,"linkType":1},{"target":70,"source":95,"linkType":1},{"target":71,"source":95,"linkType":1},{"target":72,"source":98,"linkType":1},{"target":73,"source":93,"linkType":1},{"target":74,"source":98,"linkType":1},{"target":75,"source":104,"linkType":1},{"target":76,"source":98,"linkType":1},{"target":77,"source":98,"linkType":1},{"target":78,"source":98,"linkType":1},{"target":79,"source":95,"linkType":1},{"target":80,"source":107,"linkType":1},{"target":81,"source":107,"linkType":1},{"target":82,"source":107,"linkType":1},{"target":83,"source":107,"linkType":1},{"target":84,"source":107,"linkType":1},{"target":85,"source":107,"linkType":1},{"target":86,"source":107,"linkType":1},{"target":87,"source":107,"linkType":1},{"target":88,"source":107,"linkType":1},{"target":89,"source":107,"linkType":1},{"target":90,"source":107,"linkType":1},{"target":91,"source":107,"linkType":1},{"target":92,"source":107,"linkType":1}] 
  }   
  return(myData);
}

function dragstarted(d) {
  if (!d3.event.active) {
    simulation.alphaTarget(0.3).restart();
    d.fx = d.x;
    d.fy = d.y;
  }
}
function dragged(d) {
  d.fx = d3.event.x;
  d.fy = d3.event.y;
}
function dragended(d) {
  if (!d3.event.active) simulation.alphaTarget(0);
  d.fx = null;
  d.fy = null;
}
function formatNodeValues(funding) {
  if (!funding) { return ''; }
  if (funding > 1000000000) {
    return `$${(funding / 1000000000).toFixed(1)}B`
  }
  if (funding > 1000000) {
    return `$${(funding / 1000000).toFixed(0)}M`
  }
}
function formatTextColor(color) {
  var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(color);
  var rgb = `rgb(${parseInt(result[1], 16)},${parseInt(result[2], 16)},${parseInt(result[3], 16)})`;
  
  var rgbArray = rgb
    .substring(4, rgb.length - 1)
    .replace(/ /g, '')
    .split(',');

  let r = +rgbArray[0] / 255.0;
  r = (r <= 0.03928) ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4);

  let g = +rgbArray[1] / 255.0;
  g = (g <= 0.03928) ? g / 12.92 : Math.pow((g + 0.055) / 1.055, 2.4);

  let b = +rgbArray[2] / 255.0;
  b = (b <= 0.03928) ? b / 12.92 : Math.pow((b + 0.055) / 1.055, 2.4);

  const L = 0.2026 * r + 0.7152 * g + 0.0722 * b;

  if (L > 0.16) { return '#111'; }
  return '#EEE';
}
function formatFontSize(d) {
  return Math.pow(d.funding, 0.124)
}

var graphData = createData();
var tooltip = d3.select("body")
	.append("div")
	.attr("class", "tooltip mytipyo")
	.style("opacity", 0);

var svg = d3.select("svg"),
    width = +svg.attr("width"),
    height = +svg.attr("height");

var color = d3.scaleOrdinal(d3.schemeCategory20);

var simulation = d3.forceSimulation()
    .force("link", d3.forceLink().id(d => d.id).strength(1))
    // .force("link", 
    //     d3.forceLink()
    //        .id(d => d.id)
    //        .distance(d => {
    //           return d.linkType === 2 ? 400 : 100;
    //           // console.log('d: ', d);
    //           // return 100
    //         })
    //        .strength(1))
    .force("charge", d3.forceManyBody().strength(2))
    .force("collide", d3.forceCollide()
           .radius(d => !d.funding ? 8 : Math.pow(d.funding, 0.18) + 3)
           .iterations(2))    
// .force("collide", d3.forceCollide(20)
    //        .strength(1)
    //        // .radius(d =>  d.funding ? Math.log(d.funding) : 10)
    //        .iterations(50))
    .force("center", d3.forceCenter(width / 2, height / 2));

var link = svg.append("g")
    .attr("class", "links")
    .selectAll("line")
    .data(graphData.links)
    .enter()
    .append("line")
    .attr("stroke-width", d => d.linkType === 2 ? 0.5 : 2)
    .attr("stroke", d => d.linkType === 2 ? "blue" : "#333")

var node = svg.append("g")
    .attr("class", "nodes")
    .selectAll("g")
    .data(graphData.nodes)
    .enter()
    .append("g")
    .attr("cursor", "pointer")

var circles = node.append("circle")
    .attr("r", d => d.funding ?Math.pow(d.funding, 0.18) : 10)
    .attr("fill", d => d.color)
    .attr("stroke", "#333333")
    .attr("stroke-width", 0.5)
    .call(d3.drag()
          .on("start", dragstarted)
          .on("drag", dragged)
          .on("end", dragended))
    .on('mouseover.tooltip', function(d) {
      tooltip.transition().duration(100).style("opacity", 1);
      tooltip.style("left", (d3.event.pageX) + "px").style("top", (d3.event.pageY + 10) + "px");
      console.log('d: ', d);
      tooltip.style("background", d.color).style("color", formatTextColor(d.color))
      
      tooltip.html(`
          <h3>${d.organizationName}</h3>
          ${d.headquartersLocation === undefined ? '' : '<p>HQ: ' + d.headquartersLocation + '</p>'}
          <p>Description: ${d.description}</p>
          <p>Funding: ${formatNodeValues(d.funding)}</p>
          ${d.exitDate === undefined ? '' : '<p>Exit Date: ' + d.exitDate + '</p>'}
        `)
    	})
    .on("mouseout.tooltip", function() {
        tooltip.transition()
	        .duration(100)
	        .style("opacity", 0);
	    })
	  .on("mousemove", function() {
	      tooltip.style("left", (d3.event.pageX) + "px")
	        .style("top", (d3.event.pageY + 10) + "px");
	    })


// Add Names / Acquisition Text Labels
// ====================================
var lables = node.append("text")
    .attr('x', 0).attr('y', -5)
    .attr('font-weight', '700')
    .attr('font-size', d => formatFontSize(d))
    .attr('text-anchor', 'middle')
    .attr('pointer-events', 'none')
    .attr('fill', d => formatTextColor(d.color))
    .text(d => d.nodeName);

var value = node.append("text")
    .attr('x', 0)
    .attr('y', d => d.nodeName === "" ? 2 : 15)
    .attr('font-weight', '700')
    .attr('font-size', d => d.nodeName === "" ? '10' : '15')
    .attr('text-anchor', 'middle')
    .attr('pointer-events', 'none')
    .attr('fill', d => formatTextColor(d.color))
    .text(d => formatNodeValues(d.funding));

node.append("title")
    .text(function(d) { return d.id; });

simulation
    .nodes(graphData.nodes)
    .on("tick", ticked);

simulation.force("link")
    .links(graphData.links);

function ticked() {
  link
    .attr("x1", d => d.source.x)
    .attr("y1", d => d.source.y)
    .attr("x2", d => d.target.x)
    .attr("y2", d => d.target.y);

  node
    .attr("transform", d => "translate(" + d.x + "," + d.y + ")")
}

svg.append('text')
  .attr('x', 800 / 2).attr('y', 35)
  .attr('font-size', '30')
  .attr('font-weight', 700)
  .attr('text-anchor', 'middle')
  .text('2019 Tech IPOs')

svg.append('text')
  .attr('x', 800 / 2).attr('y', 60)
  .attr('font-size', '18')
  .attr('text-anchor', 'middle')
  .text('...and the acquired companies that are along for the ride')

// okay

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js