BI und D3: “Daten visualisieren, um Daten zu verstehen“

Ein neuer Arbeitsbereich der CI Decision Design

„Data Driven Documents“, besser bekannt als D3, ist eine JavaScript Bibliothek, mit der sehr coole, sehr innovative, vor allem aber bestens geeignete Grafiken und Charts zur Visualisierung von Daten erstellt werden können, die auch komplexere Aussagen so darstellen, dass der Benutzer sie direkt versteht.

D3 erfreut sich wachsender Beliebtheit, so dass es heute allein auf Github rund 400 verschiedene Diagrammtypen gibt (https://github.com/d3/d3/wiki/Gallery).

Die großen Hersteller von Business Intelligence Lösungen (wie MicroStrategy, SAP oder andere) machen sich diese D3 Community immer mehr zu Nutze und bieten kostenfreie Schnittstellen an, um in ihren Data Discovery und Analyse Werkzeugen diese High-Customizable Visualisierungen einzubinden. Der "Pferdefuß": Sämtliche Standard-D3-Beispiele, die von den BI Herstellern angeboten werden, weisen maximal die prinzipielle Machbarkeit der D3 Einbindung nach. Für den Einsatz in einem professionellen Kundenumfeld sind diese Beispiele nicht geeignet.

Ein guter Grund für uns, um im Rahmen unseres ersten CI Hackathons Ende 2016 D3-Visualisierugnen im Allgemeinen und ihre Einbindung in unterschiedliche BI-Tools im Besonderen näher zu untersuchen. Eine Nachtschicht später waren auch wir von der Mächtigkeit der D3-Visualisierungen und dem großen Mehrwert für die BI-Tools und ihre Nutzer überzeugt…

Das BI-Kompetenzteam der CI Decision Design hat mittlerweile eine Arbeitsgruppe aus erfahrenen BI-Spezialisten und Softwareentwicklern erstellt und widmet sich intensiv der Anpassung von D3-Visualisierungen für konkrete Kundenanforderungen.

Ein fast schon klassisches Beispiel einer D3-Visualisierung ist der „Sunburst“-Chart, im Wesentlichen ein dem „Pie Chart“ sehr ähnliches Ring-Diagramm mit mehreren Ringen, das ein Hinein- und Herauszoomen erlaubt und somit die Datenmenge interaktiv jeweils so aufbereitet, wie der Nutzer sie gerade sehen möchte. Durch die von uns vorgenommenen Anpassungen an einem der frei verfügbaren Sunburst-Beispiele kann dieses Chart nun bereits in den Dashboards von Microstrategy, oder in SAP BO Lumira eingesetzt werden. Darüber hinaus wurde das „Sunburst“ so erweitert, dass in Infoboxen Kennzahlgröße, Bezugsdimension und korrespondierende, optionale Kennzahlen sinnvoll konsumiert und letztlich von der Fachseite interpretiert werden können. Und das alles selbstverständlich im via Cascading Stylesheets (CSS) eingebetteten Corporate Design des Kunden - ein echter Mehrwert für die Dashboard-Landschaft eines Unternehmens!

<!DOCTYPE html>

<html lang="en">

<head>

Title

<script src="//d3js.org/d3.v3.min.js"></script>

<script src="//cdnjs.cloudflare.com/ajax/libs/chroma-js/1.1.1/chroma.min.js"> </script>

<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>

</head>

<body id="sunburst">

</body>

 

<script>

 

var width = 500, // Set dynamically later

height = 500,

radius = (Math.min(width, height) / 2) - 10;

 

// Breadcrumb dimensions: width, height, spacing, width of tip/tail.

var b = {

w: 500,

h: 30,

s: 3,

t: 10

};

 

var formatNumber = d3.format(",d");

 

var x = d3.scale.linear()

.range([0, 2 * Math.PI]);

 

var y = d3.scale.sqrt()

.range([0, radius]);

 

//var color = d3.scale.category20c();

 

 

var myData={

"name": "root",

"children": [

{

"_eid": "hAustralia;C541FCC3410A7E5FF0F87EAFDCC9873D",

"name": "Australia",

"children": [

{

"_eid": "hNew South Wales;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "New South Wales",

"children": [

{

"_eid": "hAlexandria;C303B7424745724F12C4E2B7D25F21B2",

"name": "Alexandria",

"value": 330000,

"formattedValue": "330000",

"values": [

{

"v": "330000",

"rv": 330000

}

]

},

{

"_eid": "hDarlinghurst;C303B7424745724F12C4E2B7D25F21B2",

"name": "Darlinghurst",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hLane Cove;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lane Cove",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hLavender Bay;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lavender Bay",

"value": 2030000,

"formattedValue": "2030000",

"values": [

{

"v": "2030000",

"rv": 2030000

}

]

},

{

"_eid": "hMalabar;C303B7424745724F12C4E2B7D25F21B2",

"name": "Malabar",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hMatraville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Matraville",

"value": 380000,

"formattedValue": "380000",

"values": [

{

"v": "380000",

"rv": 380000

}

]

},

{

"_eid": "hMilsons Point;C303B7424745724F12C4E2B7D25F21B2",

"name": "Milsons Point",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hNewcastle;C303B7424745724F12C4E2B7D25F21B2",

"name": "Newcastle",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hNorth Ryde;C303B7424745724F12C4E2B7D25F21B2",

"name": "North Ryde",

"value": 280000,

"formattedValue": "280000",

"values": [

{

"v": "280000",

"rv": 280000

}

]

},

{

"_eid": "hNorth Sydney;C303B7424745724F12C4E2B7D25F21B2",

"name": "North Sydney",

"value": 530000,

"formattedValue": "530000",

"values": [

{

"v": "530000",

"rv": 530000

}

]

},

{

"_eid": "hRhodes;C303B7424745724F12C4E2B7D25F21B2",

"name": "Rhodes",

"value": 480000,

"formattedValue": "480000",

"values": [

{

"v": "480000",

"rv": 480000

}

]

},

{

"_eid": "hSilverwater;C303B7424745724F12C4E2B7D25F21B2",

"name": "Silverwater",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSpringwood;C303B7424745724F12C4E2B7D25F21B2",

"name": "Springwood",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hSt. Leonards;C303B7424745724F12C4E2B7D25F21B2",

"name": "St. Leonards",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSydney;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sydney",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hQueensland;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Queensland",

"children": [

{

"_eid": "hEast Brisbane;C303B7424745724F12C4E2B7D25F21B2",

"name": "East Brisbane",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hHawthorne;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hawthorne",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hSouth Australia;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "South Australia",

"children": [

{

"_eid": "hCloverdale;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cloverdale",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hFindon;C303B7424745724F12C4E2B7D25F21B2",

"name": "Findon",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

]

},

{

"_eid": "hVictoria;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Victoria",

"children": [

{

"_eid": "hMelbourne;C303B7424745724F12C4E2B7D25F21B2",

"name": "Melbourne",

"value": 390000,

"formattedValue": "390000",

"values": [

{

"v": "390000",

"rv": 390000

}

]

},

{

"_eid": "hSeaford;C303B7424745724F12C4E2B7D25F21B2",

"name": "Seaford",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hSouth Melbourne;C303B7424745724F12C4E2B7D25F21B2",

"name": "South Melbourne",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

}

]

}

]

},

{

"_eid": "hCanada;C541FCC3410A7E5FF0F87EAFDCC9873D",

"name": "Canada",

"children": [

{

"_eid": "hAlberta;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Alberta",

"children": [

{

"_eid": "hCalgary;C303B7424745724F12C4E2B7D25F21B2",

"name": "Calgary",

"value": 2000000,

"formattedValue": "2000000",

"values": [

{

"v": "2000000",

"rv": 2000000

}

]

},

{

"_eid": "hEdmonton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Edmonton",

"value": 380000,

"formattedValue": "380000",

"values": [

{

"v": "380000",

"rv": 380000

}

]

}

]

},

{

"_eid": "hBritish Columbia;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "British Columbia",

"children": [

{

"_eid": "hBurnaby;C303B7424745724F12C4E2B7D25F21B2",

"name": "Burnaby",

"value": 1360000,

"formattedValue": "1360000",

"values": [

{

"v": "1360000",

"rv": 1360000

}

]

},

{

"_eid": "hRichmond;C303B7424745724F12C4E2B7D25F21B2",

"name": "Richmond",

"value": 1380000,

"formattedValue": "1380000",

"values": [

{

"v": "1380000",

"rv": 1380000

}

]

},

{

"_eid": "hSurrey;C303B7424745724F12C4E2B7D25F21B2",

"name": "Surrey",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hVancouver;C303B7424745724F12C4E2B7D25F21B2",

"name": "Vancouver",

"value": 540000,

"formattedValue": "540000",

"values": [

{

"v": "540000",

"rv": 540000

}

]

},

{

"_eid": "hVictoria;C303B7424745724F12C4E2B7D25F21B2",

"name": "Victoria",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

}

]

},

{

"_eid": "hNewBrunswick;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "New Brunswick",

"children": [

{

"_eid": "hSaint John;C303B7424745724F12C4E2B7D25F21B2",

"name": "Saint John",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

},

{

"_eid": "hManitoba;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Manitoba",

"children": [

{

"_eid": "hWinnipeg;C303B7424745724F12C4E2B7D25F21B2",

"name": "Winnipeg",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

},

{

"_eid": "hOntario;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Ontario",

"children": [

{

"_eid": "hAurora;C303B7424745724F12C4E2B7D25F21B2",

"name": "Aurora",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hBarrie;C303B7424745724F12C4E2B7D25F21B2",

"name": "Barrie",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hBrampton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Brampton",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hChalk River;C303B7424745724F12C4E2B7D25F21B2",

"name": "Chalk River",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hEtobicoke;C303B7424745724F12C4E2B7D25F21B2",

"name": "Etobicoke",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hKanata;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kanata",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hKingston;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kingston",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hMarkham;C303B7424745724F12C4E2B7D25F21B2",

"name": "Markham",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hMississauga;C303B7424745724F12C4E2B7D25F21B2",

"name": "Mississauga",

"value": 760000,

"formattedValue": "760000",

"values": [

{

"v": "760000",

"rv": 760000

}

]

},

{

"_eid": "hNepean;C303B7424745724F12C4E2B7D25F21B2",

"name": "Nepean",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hNorth York;C303B7424745724F12C4E2B7D25F21B2",

"name": "North York",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hOttawa;C303B7424745724F12C4E2B7D25F21B2",

"name": "Ottawa",

"value": 1010000,

"formattedValue": "1010000",

"values": [

{

"v": "1010000",

"rv": 1010000

}

]

},

{

"_eid": "hRichmond Hill;C303B7424745724F12C4E2B7D25F21B2",

"name": "Richmond Hill",

"value": 110000,

"formattedValue": "110000",

"values": [

{

"v": "110000",

"rv": 110000

}

]

},

{

"_eid": "hScarborough;C303B7424745724F12C4E2B7D25F21B2",

"name": "Scarborough",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hToronto;C303B7424745724F12C4E2B7D25F21B2",

"name": "Toronto",

"value": 3770000,

"formattedValue": "3770000",

"values": [

{

"v": "3770000",

"rv": 3770000

}

]

},

{

"_eid": "hVancouver;C303B7424745724F12C4E2B7D25F21B2",

"name": "Vancouver",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hWaterloo;C303B7424745724F12C4E2B7D25F21B2",

"name": "Waterloo",

"value": 330000,

"formattedValue": "330000",

"values": [

{

"v": "330000",

"rv": 330000

}

]

},

{

"_eid": "hWeston;C303B7424745724F12C4E2B7D25F21B2",

"name": "Weston",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

},

{

"_eid": "hQuebec;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Quebec",

"children": [

{

"_eid": "hBrossard;C303B7424745724F12C4E2B7D25F21B2",

"name": "Brossard",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hDorval;C303B7424745724F12C4E2B7D25F21B2",

"name": "Dorval",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hHull;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hull",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hMontreal;C303B7424745724F12C4E2B7D25F21B2",

"name": "Montreal",

"value": 2130000,

"formattedValue": "2130000",

"values": [

{

"v": "2130000",

"rv": 2130000

}

]

},

{

"_eid": "hOutremont;C303B7424745724F12C4E2B7D25F21B2",

"name": "Outremont",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hPnot-Rouge;C303B7424745724F12C4E2B7D25F21B2",

"name": "Pnot-Rouge",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hQuebec;C303B7424745724F12C4E2B7D25F21B2",

"name": "Quebec",

"value": 680000,

"formattedValue": "680000",

"values": [

{

"v": "680000",

"rv": 680000

}

]

},

{

"_eid": "hSainte-Foy;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sainte-Foy",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hSillery;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sillery",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hVille De'anjou;C303B7424745724F12C4E2B7D25F21B2",

"name": "Ville De'anjou",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

}

]

},

{

"_eid": "hFrance;C541FCC3410A7E5FF0F87EAFDCC9873D",

"name": "France",

"children": [

{

"_eid": "hEssonne;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Essonne",

"children": [

{

"_eid": "hLes Ulis;C303B7424745724F12C4E2B7D25F21B2",

"name": "Les Ulis",

"value": 760000,

"formattedValue": "760000",

"values": [

{

"v": "760000",

"rv": 760000

}

]

},

{

"_eid": "hMorangis;C303B7424745724F12C4E2B7D25F21B2",

"name": "Morangis",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hVerrieres Le Buisson;C303B7424745724F12C4E2B7D25F21B2",

"name": "Verrieres Le Buisson",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

}

]

},

{

"_eid": "hGaronne (Haute);C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Garonne (Haute)",

"children": [

{

"_eid": "hColomiers;C303B7424745724F12C4E2B7D25F21B2",

"name": "Colomiers",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

},

{

"_eid": "hGers;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Gers",

"children": [

{

"_eid": "hAujan Mournede;C303B7424745724F12C4E2B7D25F21B2",

"name": "Aujan Mournede",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

}

]

},

{

"_eid": "hHauts de Seine;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Hauts de Seine",

"children": [

{

"_eid": "hColombes;C303B7424745724F12C4E2B7D25F21B2",

"name": "Colombes",

"value": 380000,

"formattedValue": "380000",

"values": [

{

"v": "380000",

"rv": 380000

}

]

},

{

"_eid": "hCourbevoie;C303B7424745724F12C4E2B7D25F21B2",

"name": "Courbevoie",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hParis La Defense;C303B7424745724F12C4E2B7D25F21B2",

"name": "Paris La Defense",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hSèvres;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sèvres",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSuresnes;C303B7424745724F12C4E2B7D25F21B2",

"name": "Suresnes",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hLoir et Cher;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Loir et Cher",

"children": [

{

"_eid": "hSaint Ouen;C303B7424745724F12C4E2B7D25F21B2",

"name": "Saint Ouen",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

}

]

},

{

"_eid": "hLoiret;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Loiret",

"children": [

{

"_eid": "hOrleans;C303B7424745724F12C4E2B7D25F21B2",

"name": "Orleans",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

}

]

},

{

"_eid": "hNord;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Nord",

"children": [

{

"_eid": "hCroix;C303B7424745724F12C4E2B7D25F21B2",

"name": "Croix",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hRoncq;C303B7424745724F12C4E2B7D25F21B2",

"name": "Roncq",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hPas de Calais;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Pas de Calais",

"children": [

{

"_eid": "hBoulogne-sur-Mer;C303B7424745724F12C4E2B7D25F21B2",

"name": "Boulogne-sur-Mer",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hSeine (Paris);C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Seine (Paris)",

"children": [

{

"_eid": "hParis;C303B7424745724F12C4E2B7D25F21B2",

"name": "Paris",

"value": 1800000,

"formattedValue": "1800000",

"values": [

{

"v": "1800000",

"rv": 1800000

}

]

}

]

},

{

"_eid": "hSeine et Marne;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Seine et Marne",

"children": [

{

"_eid": "hLieusaint;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lieusaint",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hRoissy en Brie;C303B7424745724F12C4E2B7D25F21B2",

"name": "Roissy en Brie",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hSeine Saint Denis;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Seine Saint Denis",

"children": [

{

"_eid": "hBobigny;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bobigny",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hPantin;C303B7424745724F12C4E2B7D25F21B2",

"name": "Pantin",

"value": 230000,

"formattedValue": "230000",

"values": [

{

"v": "230000",

"rv": 230000

}

]

}

]

},

{

"_eid": "hVal d'Oise;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Val d'Oise",

"children": [

{

"_eid": "hCergy;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cergy",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

},

{

"_eid": "hVal de Marne;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Val de Marne",

"children": [

{

"_eid": "hOrly;C303B7424745724F12C4E2B7D25F21B2",

"name": "Orly",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

}

]

},

{

"_eid": "hGermany;C541FCC3410A7E5FF0F87EAFDCC9873D",

"name": "Germany",

"children": [

{

"_eid": "hBayern;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Bayern",

"children": [

{

"_eid": "hAugsburg;C303B7424745724F12C4E2B7D25F21B2",

"name": "Augsburg",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hMuenchen;C303B7424745724F12C4E2B7D25F21B2",

"name": "Muenchen",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hNürnberg;C303B7424745724F12C4E2B7D25F21B2",

"name": "Nürnberg",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

},

{

"_eid": "hBrandenburg;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Brandenburg",

"children": [

{

"_eid": "hPotsdam;C303B7424745724F12C4E2B7D25F21B2",

"name": "Potsdam",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hCottbus;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cottbus",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hHamburg;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Hamburg",

"children": [

{

"_eid": "hHamburg;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hamburg",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hHessen;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Hessen",

"children": [

{

"_eid": "hFranktfurt am Main;C303B7424745724F12C4E2B7D25F21B2",

"name": "Franktfurt am Main",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hWiesbaden;C303B7424745724F12C4E2B7D25F21B2",

"name": "Wiesbaden",

"value": 110000,

"formattedValue": "110000",

"values": [

{

"v": "110000",

"rv": 110000

}

]

},

{

"_eid": "hMainz;C303B7424745724F12C4E2B7D25F21B2",

"name": "Mainz",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hWorms;C303B7424745724F12C4E2B7D25F21B2",

"name": "Worms",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hBingen;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bingen",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

]

},

{

"_eid": "hNordrhein-Westfalen;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Nordrhein-Westfalen",

"children": [

{

"_eid": "hKoeln;C303B7424745724F12C4E2B7D25F21B2",

"name": "Koeln",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hBonn;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bonn",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hDuesseldorf;C303B7424745724F12C4E2B7D25F21B2",

"name": "Duesseldorf",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hEssen;C303B7424745724F12C4E2B7D25F21B2",

"name": "Essen",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hDuisburg;C303B7424745724F12C4E2B7D25F21B2",

"name": "Duisburg",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hDortmund;C303B7424745724F12C4E2B7D25F21B2",

"name": "Dortmund",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

},

{

"_eid": "hSaarland;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Saarland",

"children": [

{

"_eid": "hSaarbruecken;C303B7424745724F12C4E2B7D25F21B2",

"name": "Saarbruecken",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hWeisskirchen;C303B7424745724F12C4E2B7D25F21B2",

"name": "Weisskirchen",

"value": 200000,

"formattedValue": "200000",

"values": [

{

"v": "200000",

"rv": 200000

}

]

},

{

"_eid": "hPerl;C303B7424745724F12C4E2B7D25F21B2",

"name": "Perl",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSchmelz;C303B7424745724F12C4E2B7D25F21B2",

"name": "Schmelz",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hTholey;C303B7424745724F12C4E2B7D25F21B2",

"name": "Tholey",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

}

]

},

{

"_eid": "hUnited Kingdom;C541FCC3410A7E5FF0F87EAFDCC9873D",

"name": "United Kingdom",

"children": [

{

"_eid": "hEngland;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "England",

"children": [

{

"_eid": "hAbingdon;C303B7424745724F12C4E2B7D25F21B2",

"name": "Abingdon",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hBasingstoke Hants;C303B7424745724F12C4E2B7D25F21B2",

"name": "Basingstoke Hants",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hBerks;C303B7424745724F12C4E2B7D25F21B2",

"name": "Berks",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hBerkshire;C303B7424745724F12C4E2B7D25F21B2",

"name": "Berkshire",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hBirmingham;C303B7424745724F12C4E2B7D25F21B2",

"name": "Birmingham",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hBracknell;C303B7424745724F12C4E2B7D25F21B2",

"name": "Birmingham",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hCambridge;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cambridge",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hGloucestershire;C303B7424745724F12C4E2B7D25F21B2",

"name": "Gloucestershire",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hHigh Wycombe;C303B7424745724F12C4E2B7D25F21B2",

"name": "High Wycombe",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hLancaster;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lancaster",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hLiverpool;C303B7424745724F12C4E2B7D25F21B2",

"name": "Liverpool",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hLondon;C303B7424745724F12C4E2B7D25F21B2",

"name": "London",

"value": 2300000,

"formattedValue": "2300000",

"values": [

{

"v": "2300000",

"rv": 2300000

}

]

},

{

"_eid": "hMaidenhead;C303B7424745724F12C4E2B7D25F21B2",

"name": "Maidenhead",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hMilton Keynes;C303B7424745724F12C4E2B7D25F21B2",

"name": "Milton Keynes",

"value": 480000,

"formattedValue": "480000",

"values": [

{

"v": "480000",

"rv": 480000

}

]

},

{

"_eid": "hOxford;C303B7424745724F12C4E2B7D25F21B2",

"name": "Oxford",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hOxon;C303B7424745724F12C4E2B7D25F21B2",

"name": "Oxon",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hReading;C303B7424745724F12C4E2B7D25F21B2",

"name": "Reading",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hW. York;C303B7424745724F12C4E2B7D25F21B2",

"name": "W. York",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hWarrington;C303B7424745724F12C4E2B7D25F21B2",

"name": "Warrington",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hWest Sussex;C303B7424745724F12C4E2B7D25F21B2",

"name": "West Sussex",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hWokingham;C303B7424745724F12C4E2B7D25F21B2",

"name": "Wokingham",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hWoolston;C303B7424745724F12C4E2B7D25F21B2",

"name": "Woolston",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hYork;C303B7424745724F12C4E2B7D25F21B2",

"name": "York",

"value": 110000,

"formattedValue": "110000",

"values": [

{

"v": "110000",

"rv": 110000

}

]

}

]

}

]

},

{

"_eid": "hUnited States;C541FCC3410A7E5FF0F87EAFDCC9873D",

"name": "United States",

"children": [

{

"_eid": "hAlabama;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Alabama",

"children": [

{

"_eid": "hBirmingham;C303B7424745724F12C4E2B7D25F21B2",

"name": "Birmingham",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hFlorence;C303B7424745724F12C4E2B7D25F21B2",

"name": "Florence",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hHuntsville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Huntsville",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hMobile;C303B7424745724F12C4E2B7D25F21B2",

"name": "Mobile",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hMontgomery;C303B7424745724F12C4E2B7D25F21B2",

"name": "Montgomery",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hArizona;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Arizona",

"children": [

{

"_eid": "hChandler;C303B7424745724F12C4E2B7D25F21B2",

"name": "Chandler",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hGilbert;C303B7424745724F12C4E2B7D25F21B2",

"name": "Gilbert",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hMesa;C303B7424745724F12C4E2B7D25F21B2",

"name": "Mesa",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hPhoenix;C303B7424745724F12C4E2B7D25F21B2",

"name": "Phoenix",

"value": 490000,

"formattedValue": "490000",

"values": [

{

"v": "490000",

"rv": 490000

}

]

},

{

"_eid": "hScottsdale;C303B7424745724F12C4E2B7D25F21B2",

"name": "Scottsdale",

"value": 180000,

"formattedValue": "180000",

"values": [

{

"v": "180000",

"rv": 180000

}

]

},

{

"_eid": "hSurprise;C303B7424745724F12C4E2B7D25F21B2",

"name": "Surprise",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hTucson;C303B7424745724F12C4E2B7D25F21B2",

"name": "Tucson",

"value": 180000,

"formattedValue": "180000",

"values": [

{

"v": "180000",

"rv": 180000

}

]

}

]

},

{

"_eid": "hCalifornia;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "California",

"children": [

{

"_eid": "hAlhambra;C303B7424745724F12C4E2B7D25F21B2",

"name": "Alhambra",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hAlpine;C303B7424745724F12C4E2B7D25F21B2",

"name": "Alpine",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hAuburn;C303B7424745724F12C4E2B7D25F21B2",

"name": "Auburn",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hBaldwin Park;C303B7424745724F12C4E2B7D25F21B2",

"name": "Baldwin Park",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hBarstow;C303B7424745724F12C4E2B7D25F21B2",

"name": "Barstow",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hBell Gardens;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bell Gardens",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hCamarillo;C303B7424745724F12C4E2B7D25F21B2",

"name": "Camarillo",

"value": 900000,

"formattedValue": "900000",

"values": [

{

"v": "900000",

"rv": 900000

}

]

},

{

"_eid": "hCanoga Park;C303B7424745724F12C4E2B7D25F21B2",

"name": "Canoga Park",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hCarson;C303B7424745724F12C4E2B7D25F21B2",

"name": "Carson",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hCerritos;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cerritos",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hCitrus Heights;C303B7424745724F12C4E2B7D25F21B2",

"name": "Citrus Heights",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hCity Of Commerce;C303B7424745724F12C4E2B7D25F21B2",

"name": "City Of Commerce",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hCulver City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Culver City",

"value": 380000,

"formattedValue": "380000",

"values": [

{

"v": "380000",

"rv": 380000

}

]

},

{

"_eid": "hDaly City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Daly City",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hDowney;C303B7424745724F12C4E2B7D25F21B2",

"name": "Downey",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hEl Cajon;C303B7424745724F12C4E2B7D25F21B2",

"name": "El Cajon",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hEl Segundo;C303B7424745724F12C4E2B7D25F21B2",

"name": "El Segundo",

"value": 240000,

"formattedValue": "240000",

"values": [

{

"v": "240000",

"rv": 240000

}

]

},

{

"_eid": "hElk Grove;C303B7424745724F12C4E2B7D25F21B2",

"name": "Elk Grove",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hEscondido;C303B7424745724F12C4E2B7D25F21B2",

"name": "Escondido",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hEureka;C303B7424745724F12C4E2B7D25F21B2",

"name": "Eureka",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hFontana;C303B7424745724F12C4E2B7D25F21B2",

"name": "Fontana",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hFremont;C303B7424745724F12C4E2B7D25F21B2",

"name": "Fremont",

"value": 160000,

"formattedValue": "160000",

"values": [

{

"v": "160000",

"rv": 160000

}

]

},

{

"_eid": "hFullerton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Fullerton",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hGilroy;C303B7424745724F12C4E2B7D25F21B2",

"name": "Gilroy",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hHanford;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hanford",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hHayward;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hayward",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hIrvine;C303B7424745724F12C4E2B7D25F21B2",

"name": "Irvine",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hLa Mesa;C303B7424745724F12C4E2B7D25F21B2",

"name": "La Mesa",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hLake Elsinore;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lake Elsinore",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hLakewood;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lakewood",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hMilpitas;C303B7424745724F12C4E2B7D25F21B2",

"name": "Milpitas",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hModesto;C303B7424745724F12C4E2B7D25F21B2",

"name": "Modesto",

"value": 330000,

"formattedValue": "330000",

"values": [

{

"v": "330000",

"rv": 330000

}

]

},

{

"_eid": "hMonrovia;C303B7424745724F12C4E2B7D25F21B2",

"name": "Monrovia",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hNewark;C303B7424745724F12C4E2B7D25F21B2",

"name": "Newark",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hNewport Beach;C303B7424745724F12C4E2B7D25F21B2",

"name": "Newport Beach",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hNorwalk;C303B7424745724F12C4E2B7D25F21B2",

"name": "Norwalk",

"value": 180000,

"formattedValue": "180000",

"values": [

{

"v": "180000",

"rv": 180000

}

]

},

{

"_eid": "hOntario;C303B7424745724F12C4E2B7D25F21B2",

"name": "Ontario",

"value": 630000,

"formattedValue": "630000",

"values": [

{

"v": "630000",

"rv": 630000

}

]

},

{

"_eid": "hOrange;C303B7424745724F12C4E2B7D25F21B2",

"name": "Orange",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hOxnard;C303B7424745724F12C4E2B7D25F21B2",

"name": "Oxnard",

"value": 180000,

"formattedValue": "180000",

"values": [

{

"v": "180000",

"rv": 180000

}

]

},

{

"_eid": "hPleasanton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Pleasanton",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hRedlands;C303B7424745724F12C4E2B7D25F21B2",

"name": "Redlands",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSacramento;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sacramento",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hSan Bruno;C303B7424745724F12C4E2B7D25F21B2",

"name": "San Bruno",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hSan Diego;C303B7424745724F12C4E2B7D25F21B2",

"name": "San Diego",

"value": 380000,

"formattedValue": "380000",

"values": [

{

"v": "380000",

"rv": 380000

}

]

},

{

"_eid": "hSan Francisco;C303B7424745724F12C4E2B7D25F21B2",

"name": "San Francisco",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hSan Jose;C303B7424745724F12C4E2B7D25F21B2",

"name": "San Jose",

"value": 110000,

"formattedValue": "110000",

"values": [

{

"v": "110000",

"rv": 110000

}

]

},

{

"_eid": "hSan Mateo;C303B7424745724F12C4E2B7D25F21B2",

"name": "San Mateo",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSan Ramon;C303B7424745724F12C4E2B7D25F21B2",

"name": "San Ramon",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSan Ysidro;C303B7424745724F12C4E2B7D25F21B2",

"name": "San Ysidro",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSand City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sand City",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSanta Ana;C303B7424745724F12C4E2B7D25F21B2",

"name": "Santa Ana",

"value": 400000,

"formattedValue": "400000",

"values": [

{

"v": "400000",

"rv": 400000

}

]

},

{

"_eid": "hSanta Monica;C303B7424745724F12C4E2B7D25F21B2",

"name": "Santa Monica",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSherman Oaks;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sherman Oaks",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSimi Valley;C303B7424745724F12C4E2B7D25F21B2",

"name": "Simi Valley",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hStockton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Stockton",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hTorrance;C303B7424745724F12C4E2B7D25F21B2",

"name": "Torrance",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hTrabuco Canyon;C303B7424745724F12C4E2B7D25F21B2",

"name": "Trabuco Canyon",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hUnion City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Union City",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hUpland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Upland",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hVacaville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Vacaville",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hVan Nuys;C303B7424745724F12C4E2B7D25F21B2",

"name": "Van Nuys",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hVisalia;C303B7424745724F12C4E2B7D25F21B2",

"name": "Visalia",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hVista;C303B7424745724F12C4E2B7D25F21B2",

"name": "Vista",

"value": 130000,

"formattedValue": "130000",

"values": [

{

"v": "130000",

"rv": 130000

}

]

},

{

"_eid": "hWalnut Creek;C303B7424745724F12C4E2B7D25F21B2",

"name": "Walnut Creek",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hWhittier;C303B7424745724F12C4E2B7D25F21B2",

"name": "Whittier",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hColorado;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Colorado",

"children": [

{

"_eid": "hDenver;C303B7424745724F12C4E2B7D25F21B2",

"name": "Denver",

"value": 60000,

"formattedValue": "60000",

"values": [

{

"v": "60000",

"rv": 60000

}

]

},

{

"_eid": "hEnglewood;C303B7424745724F12C4E2B7D25F21B2",

"name": "Englewood",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hGreeley;C303B7424745724F12C4E2B7D25F21B2",

"name": "Greeley",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hLongmont;C303B7424745724F12C4E2B7D25F21B2",

"name": "Longmont",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hLoveland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Loveland",

"value": 330000,

"formattedValue": "330000",

"values": [

{

"v": "330000",

"rv": 330000

}

]

},

{

"_eid": "hParker;C303B7424745724F12C4E2B7D25F21B2",

"name": "Parker",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hWestminster;C303B7424745724F12C4E2B7D25F21B2",

"name": "Westminster",

"value": 230000,

"formattedValue": "230000",

"values": [

{

"v": "230000",

"rv": 230000

}

]

}

]

},

{

"_eid": "hConnecticut;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Connecticut",

"children": [

{

"_eid": "hEast Haven;C303B7424745724F12C4E2B7D25F21B2",

"name": "East Haven",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hFarmington;C303B7424745724F12C4E2B7D25F21B2",

"name": "Farmington",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hHamden;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hamden",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hMilford;C303B7424745724F12C4E2B7D25F21B2",

"name": "Milford",

"value": 380000,

"formattedValue": "380000",

"values": [

{

"v": "380000",

"rv": 380000

}

]

},

{

"_eid": "hNew Haven;C303B7424745724F12C4E2B7D25F21B2",

"name": "New Haven",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hStamford;C303B7424745724F12C4E2B7D25F21B2",

"name": "Stamford",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hWaterbury;C303B7424745724F12C4E2B7D25F21B2",

"name": "Waterbury",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hWestport;C303B7424745724F12C4E2B7D25F21B2",

"name": "Westport",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hFlorida;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Florida",

"children": [

{

"_eid": "hAltamonte Springs;C303B7424745724F12C4E2B7D25F21B2",

"name": "Altamonte Springs",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hBradenton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bradenton",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hClearwater;C303B7424745724F12C4E2B7D25F21B2",

"name": "Clearwater",

"value": 180000,

"formattedValue": "180000",

"values": [

{

"v": "180000",

"rv": 180000

}

]

},

{

"_eid": "hDestin;C303B7424745724F12C4E2B7D25F21B2",

"name": "Destin",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hHollywood;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hollywood",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hKendall;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kendall",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hLakeland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lakeland",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hMerritt Island;C303B7424745724F12C4E2B7D25F21B2",

"name": "Merritt Island",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hMiami;C303B7424745724F12C4E2B7D25F21B2",

"name": "Miami",

"value": 1750000,

"formattedValue": "1750000",

"values": [

{

"v": "1750000",

"rv": 1750000

}

]

},

{

"_eid": "hNorth Miami Beach;C303B7424745724F12C4E2B7D25F21B2",

"name": "North Miami Beach",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hOrlando;C303B7424745724F12C4E2B7D25F21B2",

"name": "Orlando",

"value": 710000,

"formattedValue": "710000",

"values": [

{

"v": "710000",

"rv": 710000

}

]

},

{

"_eid": "hSarasota;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sarasota",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSunrise;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sunrise",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hTampa;C303B7424745724F12C4E2B7D25F21B2",

"name": "Tampa",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hVero Beach;C303B7424745724F12C4E2B7D25F21B2",

"name": "Vero Beach",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hGeorgia;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Georgia",

"children": [

{

"_eid": "hAtlanta;C303B7424745724F12C4E2B7D25F21B2",

"name": "Atlanta",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hAugusta;C303B7424745724F12C4E2B7D25F21B2",

"name": "Augusta",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hAustell;C303B7424745724F12C4E2B7D25F21B2",

"name": "Austell",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hByron;C303B7424745724F12C4E2B7D25F21B2",

"name": "Byron",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hClarkston;C303B7424745724F12C4E2B7D25F21B2",

"name": "Clarkston",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hColumbus;C303B7424745724F12C4E2B7D25F21B2",

"name": "Columbus",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hDecatur;C303B7424745724F12C4E2B7D25F21B2",

"name": "Decatur",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hLa Grange;C303B7424745724F12C4E2B7D25F21B2",

"name": "La Grange",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hMarietta;C303B7424745724F12C4E2B7D25F21B2",

"name": "Marietta",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hMcdonough;C303B7424745724F12C4E2B7D25F21B2",

"name": "Mcdonough",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hSavannah;C303B7424745724F12C4E2B7D25F21B2",

"name": "Savannah",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSuwanee;C303B7424745724F12C4E2B7D25F21B2",

"name": "Suwanee",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hIdaho;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Idaho",

"children": [

{

"_eid": "hIdaho Falls;C303B7424745724F12C4E2B7D25F21B2",

"name": "Idaho Falls",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hLewiston;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lewiston",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hSandpoint;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sandpoint",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hIllinois;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Illinois",

"children": [

{

"_eid": "hCarol Stream;C303B7424745724F12C4E2B7D25F21B2",

"name": "Carol Stream",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hChicago;C303B7424745724F12C4E2B7D25F21B2",

"name": "Chicago",

"value": 460000,

"formattedValue": "460000",

"values": [

{

"v": "460000",

"rv": 460000

}

]

},

{

"_eid": "hElgin;C303B7424745724F12C4E2B7D25F21B2",

"name": "Elgin",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hJoliet;C303B7424745724F12C4E2B7D25F21B2",

"name": "Joliet",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hMoline;C303B7424745724F12C4E2B7D25F21B2",

"name": "Moline",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hNorridge;C303B7424745724F12C4E2B7D25F21B2",

"name": "Norridge",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hPeoria;C303B7424745724F12C4E2B7D25F21B2",

"name": "Peoria",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hTuscola;C303B7424745724F12C4E2B7D25F21B2",

"name": "Tuscola",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hWest Chicago;C303B7424745724F12C4E2B7D25F21B2",

"name": "West Chicago",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hWood Dale;C303B7424745724F12C4E2B7D25F21B2",

"name": "Wood Dale",

"value": 130000,

"formattedValue": "130000",

"values": [

{

"v": "130000",

"rv": 130000

}

]

}

]

},

{

"_eid": "hIndiana;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Indiana",

"children": [

{

"_eid": "hDaleville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Daleville",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hFort Wayne;C303B7424745724F12C4E2B7D25F21B2",

"name": "Fort Wayne",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hIndianapolis;C303B7424745724F12C4E2B7D25F21B2",

"name": "Indianapolis",

"value": 680000,

"formattedValue": "680000",

"values": [

{

"v": "680000",

"rv": 680000

}

]

},

{

"_eid": "hLogansport;C303B7424745724F12C4E2B7D25F21B2",

"name": "Logansport",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hMichigan City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Michigan City",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hNew Castle;C303B7424745724F12C4E2B7D25F21B2",

"name": "New Castle",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSouth Bend;C303B7424745724F12C4E2B7D25F21B2",

"name": "South Bend",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

}

]

},

{

"_eid": "hKentucky;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Kentucky",

"children": [

{

"_eid": "hCampbellsville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Campbellsville",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hFlorence;C303B7424745724F12C4E2B7D25F21B2",

"name": "Florence",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hNewport;C303B7424745724F12C4E2B7D25F21B2",

"name": "Newport",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSaint Matthews;C303B7424745724F12C4E2B7D25F21B2",

"name": "Saint Matthews",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hSomerset;C303B7424745724F12C4E2B7D25F21B2",

"name": "Somerset",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hMaine;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Maine",

"children": [

{

"_eid": "hKittery;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kittery",

"value": 380000,

"formattedValue": "380000",

"values": [

{

"v": "380000",

"rv": 380000

}

]

}

]

},

{

"_eid": "hMassachusetts;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Massachusetts",

"children": [

{

"_eid": "hBraintree;C303B7424745724F12C4E2B7D25F21B2",

"name": "Braintree",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hNorwood;C303B7424745724F12C4E2B7D25F21B2",

"name": "Norwood",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hRandolph;C303B7424745724F12C4E2B7D25F21B2",

"name": "Randolph",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hSaugus;C303B7424745724F12C4E2B7D25F21B2",

"name": "Saugus",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hWrentham;C303B7424745724F12C4E2B7D25F21B2",

"name": "Wrentham",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hMichigan;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Michigan",

"children": [

{

"_eid": "hDetroit;C303B7424745724F12C4E2B7D25F21B2",

"name": "Detroit",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hHolland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Holland",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hHowell;C303B7424745724F12C4E2B7D25F21B2",

"name": "Howell",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hMadison Heights;C303B7424745724F12C4E2B7D25F21B2",

"name": "Madison Heights",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hMidland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Midland",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hMonroe;C303B7424745724F12C4E2B7D25F21B2",

"name": "Monroe",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hNovi;C303B7424745724F12C4E2B7D25F21B2",

"name": "Novi",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hPontiac;C303B7424745724F12C4E2B7D25F21B2",

"name": "Pontiac",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hPort Huron;C303B7424745724F12C4E2B7D25F21B2",

"name": "Port Huron",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hRedford;C303B7424745724F12C4E2B7D25F21B2",

"name": "Redford",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSaginaw;C303B7424745724F12C4E2B7D25F21B2",

"name": "Saginaw",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hSouthfield;C303B7424745724F12C4E2B7D25F21B2",

"name": "Southfield",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSouthgate;C303B7424745724F12C4E2B7D25F21B2",

"name": "Southgate",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hWestland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Westland",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hZeeland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Zeeland",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

}

]

},

{

"_eid": "hMinnesota;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Minnesota",

"children": [

{

"_eid": "hBranch;C303B7424745724F12C4E2B7D25F21B2",

"name": "Branch",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hDuluth;C303B7424745724F12C4E2B7D25F21B2",

"name": "Duluth",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hEdina;C303B7424745724F12C4E2B7D25F21B2",

"name": "Edina",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hMedford;C303B7424745724F12C4E2B7D25F21B2",

"name": "Medford",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hMinneapolis;C303B7424745724F12C4E2B7D25F21B2",

"name": "Minneapolis",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hWoodbury;C303B7424745724F12C4E2B7D25F21B2",

"name": "Woodbury",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

}

]

},

{

"_eid": "hMississippi;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Mississippi",

"children": [

{

"_eid": "hBiloxi;C303B7424745724F12C4E2B7D25F21B2",

"name": "Biloxi",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hGulfport;C303B7424745724F12C4E2B7D25F21B2",

"name": "Gulfport",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hTupelo;C303B7424745724F12C4E2B7D25F21B2",

"name": "Tupelo",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

},

{

"_eid": "hMissouri;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Missouri",

"children": [

{

"_eid": "hBranson;C303B7424745724F12C4E2B7D25F21B2",

"name": "Branson",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hFerguson;C303B7424745724F12C4E2B7D25F21B2",

"name": "Ferguson",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hJefferson City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Jefferson City",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hKansas City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kansas City",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hOdessa;C303B7424745724F12C4E2B7D25F21B2",

"name": "Odessa",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hSaint Ann;C303B7424745724F12C4E2B7D25F21B2",

"name": "Saint Ann",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSaint Louis;C303B7424745724F12C4E2B7D25F21B2",

"name": "Saint Louis",

"value": 560000,

"formattedValue": "560000",

"values": [

{

"v": "560000",

"rv": 560000

}

]

}

]

},

{

"_eid": "hMontana;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Montana",

"children": [

{

"_eid": "hBillings;C303B7424745724F12C4E2B7D25F21B2",

"name": "Billings",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hGreat Falls;C303B7424745724F12C4E2B7D25F21B2",

"name": "Great Falls",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hMissoula;C303B7424745724F12C4E2B7D25F21B2",

"name": "Missoula",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

}

]

},

{

"_eid": "hNevada;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Nevada",

"children": [

{

"_eid": "hFernley;C303B7424745724F12C4E2B7D25F21B2",

"name": "Fernley",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hLas Vegas;C303B7424745724F12C4E2B7D25F21B2",

"name": "Las Vegas",

"value": 530000,

"formattedValue": "530000",

"values": [

{

"v": "530000",

"rv": 530000

}

]

},

{

"_eid": "hNorth Las Vegas;C303B7424745724F12C4E2B7D25F21B2",

"name": "North Las Vegas",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hReno;C303B7424745724F12C4E2B7D25F21B2",

"name": "Reno",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSparks;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sparks",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hNew Hampshire;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "New Hampshire",

"children": [

{

"_eid": "hHooksett;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hooksett",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hNashua;C303B7424745724F12C4E2B7D25F21B2",

"name": "Nashua",

"value": 680000,

"formattedValue": "680000",

"values": [

{

"v": "680000",

"rv": 680000

}

]

},

{

"_eid": "hPlaistow;C303B7424745724F12C4E2B7D25F21B2",

"name": "Plaistow",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hTilton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Tilton",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hNew Mexico;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "New Mexico",

"children": [

{

"_eid": "hLas Cruces;C303B7424745724F12C4E2B7D25F21B2",

"name": "Las Cruces",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hRio Rancho;C303B7424745724F12C4E2B7D25F21B2",

"name": "Rio Rancho",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSanta Fe;C303B7424745724F12C4E2B7D25F21B2",

"name": "Santa Fe",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hNew York;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "New York",

"children": [

{

"_eid": "hCentral Valley;C303B7424745724F12C4E2B7D25F21B2",

"name": "Central Valley",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hCheektowaga;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cheektowaga",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hClay;C303B7424745724F12C4E2B7D25F21B2",

"name": "Clay",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hDe Witt;C303B7424745724F12C4E2B7D25F21B2",

"name": "De Witt",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hEndicott;C303B7424745724F12C4E2B7D25F21B2",

"name": "Endicott",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hIthaca;C303B7424745724F12C4E2B7D25F21B2",

"name": "Ithaca",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hLake George;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lake George",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hMelville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Melville",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hNew Hartford;C303B7424745724F12C4E2B7D25F21B2",

"name": "New Hartford",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hNew York;C303B7424745724F12C4E2B7D25F21B2",

"name": "New York",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hValley Stream;C303B7424745724F12C4E2B7D25F21B2",

"name": "Valley Stream",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hNorth Carolina;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "North Carolina",

"children": [

{

"_eid": "hCharlotte;C303B7424745724F12C4E2B7D25F21B2",

"name": "Charlotte",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hGreensboro;C303B7424745724F12C4E2B7D25F21B2",

"name": "Greensboro",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hKannapolis;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kannapolis",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hRaleigh;C303B7424745724F12C4E2B7D25F21B2",

"name": "Raleigh",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hRocky Mount;C303B7424745724F12C4E2B7D25F21B2",

"name": "Rocky Mount",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSmithfield;C303B7424745724F12C4E2B7D25F21B2",

"name": "Smithfield",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hWinston-Salem;C303B7424745724F12C4E2B7D25F21B2",

"name": "Winston-Salem",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hOhio;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Ohio",

"children": [

{

"_eid": "hBurbank;C303B7424745724F12C4E2B7D25F21B2",

"name": "Burbank",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hCincinnati;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cincinnati",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hColumbus;C303B7424745724F12C4E2B7D25F21B2",

"name": "Columbus",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hEuclid;C303B7424745724F12C4E2B7D25F21B2",

"name": "Euclid",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hHeath;C303B7424745724F12C4E2B7D25F21B2",

"name": "Heath",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hHolland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Holland",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hMansfield;C303B7424745724F12C4E2B7D25F21B2",

"name": "Mansfield",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hMentor;C303B7424745724F12C4E2B7D25F21B2",

"name": "Mentor",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hNorth Randall;C303B7424745724F12C4E2B7D25F21B2",

"name": "North Randall",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hOberlin;C303B7424745724F12C4E2B7D25F21B2",

"name": "Oberlin",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSpringdale;C303B7424745724F12C4E2B7D25F21B2",

"name": "Springdale",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

},

{

"_eid": "hOregon;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Oregon",

"children": [

{

"_eid": "hAlbany;C303B7424745724F12C4E2B7D25F21B2",

"name": "Albany",

"value": 230000,

"formattedValue": "230000",

"values": [

{

"v": "230000",

"rv": 230000

}

]

},

{

"_eid": "hBeaverton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Beaverton",

"value": 180000,

"formattedValue": "180000",

"values": [

{

"v": "180000",

"rv": 180000

}

]

},

{

"_eid": "hClackamas;C303B7424745724F12C4E2B7D25F21B2",

"name": "Clackamas",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hHillsboro;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hillsboro",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hKlamath Falls;C303B7424745724F12C4E2B7D25F21B2",

"name": "Klamath Falls",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hMedford;C303B7424745724F12C4E2B7D25F21B2",

"name": "Medford",

"value": 330000,

"formattedValue": "330000",

"values": [

{

"v": "330000",

"rv": 330000

}

]

},

{

"_eid": "hMilwaukie;C303B7424745724F12C4E2B7D25F21B2",

"name": "Milwaukie",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hPortland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Portland",

"value": 630000,

"formattedValue": "630000",

"values": [

{

"v": "630000",

"rv": 630000

}

]

},

{

"_eid": "hSalem;C303B7424745724F12C4E2B7D25F21B2",

"name": "Salem",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSpringfield;C303B7424745724F12C4E2B7D25F21B2",

"name": "Springfield",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hTigard;C303B7424745724F12C4E2B7D25F21B2",

"name": "Tigard",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hTroutdale;C303B7424745724F12C4E2B7D25F21B2",

"name": "Troutdale",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

}

]

},

{

"_eid": "hRhode Island;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Rhode Island",

"children": [

{

"_eid": "hWarwick;C303B7424745724F12C4E2B7D25F21B2",

"name": "Warwick",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hWest Kingston;C303B7424745724F12C4E2B7D25F21B2",

"name": "West Kingston",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hWoonsocket;C303B7424745724F12C4E2B7D25F21B2",

"name": "Woonsocket",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hSouth Carolina;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "South Carolina",

"children": [

{

"_eid": "hBluffton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bluffton",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hGaffney;C303B7424745724F12C4E2B7D25F21B2",

"name": "Gaffney",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hMyrtle Beach;C303B7424745724F12C4E2B7D25F21B2",

"name": "Myrtle Beach",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hSouth Dakota;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "South Dakota",

"children": [

{

"_eid": "hDenby;C303B7424745724F12C4E2B7D25F21B2",

"name": "Denby",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hNorth Sioux City;C303B7424745724F12C4E2B7D25F21B2",

"name": "North Sioux City",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hTennessee;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Tennessee",

"children": [

{

"_eid": "hCrossville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Crossville",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hHixson;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hixson",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hKingsport;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kingsport",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hLa Vergne;C303B7424745724F12C4E2B7D25F21B2",

"name": "La Vergne",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hMaryville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Maryville",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hMemphis;C303B7424745724F12C4E2B7D25F21B2",

"name": "Memphis",

"value": 290000,

"formattedValue": "290000",

"values": [

{

"v": "290000",

"rv": 290000

}

]

},

{

"_eid": "hMillington;C303B7424745724F12C4E2B7D25F21B2",

"name": "Millington",

"value": 980000,

"formattedValue": "980000",

"values": [

{

"v": "980000",

"rv": 980000

}

]

},

{

"_eid": "hNashville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Nashville",

"value": 480000,

"formattedValue": "480000",

"values": [

{

"v": "480000",

"rv": 480000

}

]

},

{

"_eid": "hPigeon Forge;C303B7424745724F12C4E2B7D25F21B2",

"name": "Pigeon Forge",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hTexas;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Texas",

"children": [

{

"_eid": "hArlington;C303B7424745724F12C4E2B7D25F21B2",

"name": "Arlington",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hAustin;C303B7424745724F12C4E2B7D25F21B2",

"name": "Austin",

"value": 60000,

"formattedValue": "60000",

"values": [

{

"v": "60000",

"rv": 60000

}

]

},

{

"_eid": "hBaytown;C303B7424745724F12C4E2B7D25F21B2",

"name": "Baytown",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hCarrollton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Carrollton",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hCedar Park;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cedar Park",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hCollege Station;C303B7424745724F12C4E2B7D25F21B2",

"name": "College Station",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hCorpus Christi;C303B7424745724F12C4E2B7D25F21B2",

"name": "Corpus Christi",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hDallas;C303B7424745724F12C4E2B7D25F21B2",

"name": "Dallas",

"value": 1200000,

"formattedValue": "1200000",

"values": [

{

"v": "1200000",

"rv": 1200000

}

]

},

{

"_eid": "hFort Worth;C303B7424745724F12C4E2B7D25F21B2",

"name": "Fort Worth",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hGarland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Garland",

"value": 900000,

"formattedValue": "900000",

"values": [

{

"v": "900000",

"rv": 900000

}

]

},

{

"_eid": "hHillsboro;C303B7424745724F12C4E2B7D25F21B2",

"name": "Hillsboro",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hHouston;C303B7424745724F12C4E2B7D25F21B2",

"name": "Houston",

"value": 340000,

"formattedValue": "340000",

"values": [

{

"v": "340000",

"rv": 340000

}

]

},

{

"_eid": "hHumble;C303B7424745724F12C4E2B7D25F21B2",

"name": "Humble",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hIrving;C303B7424745724F12C4E2B7D25F21B2",

"name": "Irving",

"value": 900000,

"formattedValue": "900000",

"values": [

{

"v": "900000",

"rv": 900000

}

]

},

{

"_eid": "hKilleen;C303B7424745724F12C4E2B7D25F21B2",

"name": "Killeen",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hLa Marque;C303B7424745724F12C4E2B7D25F21B2",

"name": "La Marque",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hLaredo;C303B7424745724F12C4E2B7D25F21B2",

"name": "Laredo",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hMesquite;C303B7424745724F12C4E2B7D25F21B2",

"name": "Mesquite",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hPlano;C303B7424745724F12C4E2B7D25F21B2",

"name": "Plano",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hRound Rock;C303B7424745724F12C4E2B7D25F21B2",

"name": "Round Rock",

"value": 330000,

"formattedValue": "330000",

"values": [

{

"v": "330000",

"rv": 330000

}

]

},

{

"_eid": "hSan Antonio;C303B7424745724F12C4E2B7D25F21B2",

"name": "San Antonio",

"value": 760000,

"formattedValue": "760000",

"values": [

{

"v": "760000",

"rv": 760000

}

]

},

{

"_eid": "hStafford;C303B7424745724F12C4E2B7D25F21B2",

"name": "Stafford",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hSugar Land;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sugar Land",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hUtah;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Utah",

"children": [

{

"_eid": "hBountiful;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bountiful",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hCedar City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cedar City",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hOgden;C303B7424745724F12C4E2B7D25F21B2",

"name": "Ogden",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hPark City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Park City",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hRiverton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Riverton",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSalt Lake City;C303B7424745724F12C4E2B7D25F21B2",

"name": "Salt Lake City",

"value": 110000,

"formattedValue": "110000",

"values": [

{

"v": "110000",

"rv": 110000

}

]

},

{

"_eid": "hSandy;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sandy",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hTooele;C303B7424745724F12C4E2B7D25F21B2",

"name": "Tooele",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hVirginia;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Virginia",

"children": [

{

"_eid": "hChantilly;C303B7424745724F12C4E2B7D25F21B2",

"name": "Chantilly",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hFalls Church;C303B7424745724F12C4E2B7D25F21B2",

"name": "Falls Church",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hLeesburg;C303B7424745724F12C4E2B7D25F21B2",

"name": "Leesburg",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hNewport News;C303B7424745724F12C4E2B7D25F21B2",

"name": "Newport News",

"value": 200000,

"formattedValue": "200000",

"values": [

{

"v": "200000",

"rv": 200000

}

]

},

{

"_eid": "hVirginia Beach;C303B7424745724F12C4E2B7D25F21B2",

"name": "Virginia Beach",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hWashington;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Washington",

"children": [

{

"_eid": "hBellevue;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bellevue",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hBellingham;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bellingham",

"value": 330000,

"formattedValue": "330000",

"values": [

{

"v": "330000",

"rv": 330000

}

]

},

{

"_eid": "hBothell;C303B7424745724F12C4E2B7D25F21B2",

"name": "Bothell",

"value": 400000,

"formattedValue": "400000",

"values": [

{

"v": "400000",

"rv": 400000

}

]

},

{

"_eid": "hChehalis;C303B7424745724F12C4E2B7D25F21B2",

"name": "Chehalis",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hEllensburg;C303B7424745724F12C4E2B7D25F21B2",

"name": "Ellensburg",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hEverett;C303B7424745724F12C4E2B7D25F21B2",

"name": "Everett",

"value": 700000,

"formattedValue": "700000",

"values": [

{

"v": "700000",

"rv": 700000

}

]

},

{

"_eid": "hFederal Way;C303B7424745724F12C4E2B7D25F21B2",

"name": "Federal Way",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hIssaquah;C303B7424745724F12C4E2B7D25F21B2",

"name": "Issaquah",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hKelso;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kelso",

"value": 400000,

"formattedValue": "400000",

"values": [

{

"v": "400000",

"rv": 400000

}

]

},

{

"_eid": "hKennewick;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kennewick",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hKent;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kent",

"value": 500000,

"formattedValue": "500000",

"values": [

{

"v": "500000",

"rv": 500000

}

]

},

{

"_eid": "hKirkland;C303B7424745724F12C4E2B7D25F21B2",

"name": "Kirkland",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hLacey;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lacey",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hLongview;C303B7424745724F12C4E2B7D25F21B2",

"name": "Longview",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hLynnwood;C303B7424745724F12C4E2B7D25F21B2",

"name": "Lynnwood",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hNorth Bend;C303B7424745724F12C4E2B7D25F21B2",

"name": "North Bend",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hPort Orchard;C303B7424745724F12C4E2B7D25F21B2",

"name": "Port Orchard",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hPuyallup;C303B7424745724F12C4E2B7D25F21B2",

"name": "Puyallup",

"value": 680000,

"formattedValue": "680000",

"values": [

{

"v": "680000",

"rv": 680000

}

]

},

{

"_eid": "hRedmond;C303B7424745724F12C4E2B7D25F21B2",

"name": "Redmond",

"value": 600000,

"formattedValue": "600000",

"values": [

{

"v": "600000",

"rv": 600000

}

]

},

{

"_eid": "hRenton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Renton",

"value": 770000,

"formattedValue": "770000",

"values": [

{

"v": "770000",

"rv": 770000

}

]

},

{

"_eid": "hSeattle;C303B7424745724F12C4E2B7D25F21B2",

"name": "Seattle",

"value": 440000,

"formattedValue": "440000",

"values": [

{

"v": "440000",

"rv": 440000

}

]

},

{

"_eid": "hSequim;C303B7424745724F12C4E2B7D25F21B2",

"name": "Sequim",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

},

{

"_eid": "hShelton;C303B7424745724F12C4E2B7D25F21B2",

"name": "Shelton",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

},

{

"_eid": "hSpokane;C303B7424745724F12C4E2B7D25F21B2",

"name": "Spokane",

"value": 530000,

"formattedValue": "530000",

"values": [

{

"v": "530000",

"rv": 530000

}

]

},

{

"_eid": "hTacoma;C303B7424745724F12C4E2B7D25F21B2",

"name": "Tacoma",

"value": 450000,

"formattedValue": "450000",

"values": [

{

"v": "450000",

"rv": 450000

}

]

},

{

"_eid": "hUnion Gap;C303B7424745724F12C4E2B7D25F21B2",

"name": "Union Gap",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hWashougal;C303B7424745724F12C4E2B7D25F21B2",

"name": "Washougal",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

},

{

"_eid": "hWenatchee;C303B7424745724F12C4E2B7D25F21B2",

"name": "Wenatchee",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hWoodinville;C303B7424745724F12C4E2B7D25F21B2",

"name": "Woodinville",

"value": 150000,

"formattedValue": "150000",

"values": [

{

"v": "150000",

"rv": 150000

}

]

}

]

},

{

"_eid": "hWisconsin;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Wisconsin",

"children": [

{

"_eid": "hJohnson Creek;C303B7424745724F12C4E2B7D25F21B2",

"name": "Johnson Creek",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hMilwaukee;C303B7424745724F12C4E2B7D25F21B2",

"name": "Milwaukee",

"value": 100000,

"formattedValue": "100000",

"values": [

{

"v": "100000",

"rv": 100000

}

]

},

{

"_eid": "hMosinee;C303B7424745724F12C4E2B7D25F21B2",

"name": "Mosinee",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hRacine;C303B7424745724F12C4E2B7D25F21B2",

"name": "Racine",

"value": 80000,

"formattedValue": "80000",

"values": [

{

"v": "80000",

"rv": 80000

}

]

}

]

},

{

"_eid": "hWyoming;C2D397634A3E73B76EB1698E43C9F2A5",

"name": "Wyoming",

"children": [

{

"_eid": "hCasper;C303B7424745724F12C4E2B7D25F21B2",

"name": "Casper",

"value": 30000,

"formattedValue": "30000",

"values": [

{

"v": "30000",

"rv": 30000

}

]

},

{

"_eid": "hCheyenne;C303B7424745724F12C4E2B7D25F21B2",

"name": "Cheyenne",

"value": 550000,

"formattedValue": "550000",

"values": [

{

"v": "550000",

"rv": 550000

}

]

},

{

"_eid": "hRock Springs;C303B7424745724F12C4E2B7D25F21B2",

"name": "Rock Springs",

"value": 300000,

"formattedValue": "300000",

"values": [

{

"v": "300000",

"rv": 300000

}

]

}

]

}

]

}

]

};

 

var allItems = ['flare', 'vis', 'Biz unit 1', 'Biz unit 2', 'Biz unit 3', 'Biz unit 4','Biz unit 5'];

var myColors = myScale(allItems.length);

 

var maxTextLegendWidth = 0;

for (i = 0; i < allItems.length; i++) {

maxTextLegendWidth = Math.max(maxTextLegendWidth, getTextWidth(allItems[i], "12pt sans-serif"));

}

b.w = maxTextLegendWidth;

width = Math.max(width, maxTextLegendWidth * 2) + 50;

 

 

 

var partition = d3.layout.partition()

.value(function(d) {

return d.value;

});

 

var arc = d3.svg.arc()

.startAngle(function(d) {

return Math.max(0, Math.min(2 * Math.PI, x(d.x)));

})

.endAngle(function(d) {

return Math.max(0, Math.min(2 * Math.PI, x(d.x + d.dx)));

})

.innerRadius(function(d) {

return Math.max(0, y(d.y));

})

.outerRadius(function(d) {

return Math.max(0, y(d.y + d.dy));

});

var color = d3.scale.category20c();

var svg = d3.select("#chart").append("svg")

.attr("width", width)

.attr("height", height)

.attr("id", "container") // added

.append("g")

.attr("transform", "translate(" + width / 2 + "," + (height / 2) + ")");

 

// Add the mouseleave handler to the bounding circle.

d3.select("#container").on("mouseleave", mouseleave); // added

 

// Basic setup of page elements.

//drawLegend();

initializeBreadcrumbTrail();

 

 

var totalSize = 0;

 

 

var path = svg.selectAll("path")

.data(partition.nodes(myData))

.enter().append("path")

.attr("d", arc)

.style("fill", function (d) {

if (d.parent == null) {

return "#FAFAFA"

}

//return myColors[allItems.indexOf(d.name)];

return color(d.name);

})

.on("click", click)

.on("mouseover", mouseover) // added

.append("title")

// .text(function (d) {return d.name + "\n" + formatNumber(d.value);})

.classed("tooltip", true);

 

totalSize = path.node().__data__.value;

 

// Fade all but the current sequence, and show it in the breadcrumb trail.

function mouseover(d) {

console.log(d)

 

var size = formatNumber(d.value) + " Annual Revenue";

 

var sequenceArray = getAncestors(d);

updateBreadcrumbs(sequenceArray, size);

 

// Fade all the segments.

d3.selectAll("path")

.style("opacity", 0.3);

 

// Then highlight only those that are an ancestor of the current segment.

console.log(sequenceArray)

svg.selectAll("path")

.filter(function(node) {

return (sequenceArray.indexOf(node) >= 0);

})

.style("opacity", 1);

}

 

// Given a node in a partition layout, return an array of all of its ancestor

// nodes, highest first, but excluding the root.

function getAncestors(node) {

var path = [];

var current = node;

while (current.parent) {

path.unshift(current);

current = current.parent;

}

return path;

}

 

// Restore everything to full opacity when moving off the visualization.

function mouseleave(d) {

 

// Hide the breadcrumb trail

d3.select("#trail")

.style("visibility", "hidden");

 

// Deactivate all segments during transition.

//d3.selectAll("path").on("mouseover", null);

 

// Transition each segment to full opacity and then reactivate it.

d3.selectAll("path")

 

.style("opacity", 1)

 

}

 

function click(d) {

svg.transition()

.duration(750)

.tween("scale", function() {

var xd = d3.interpolate(x.domain(), [d.x, d.x + d.dx]),

yd = d3.interpolate(y.domain(), [d.y, 1]),

yr = d3.interpolate(y.range(), [d.y ? 20 : 0, radius]);

return function(t) {

x.domain(xd(t));

y.domain(yd(t)).range(yr(t));

};

})

.selectAll("path")

.attrTween("d", function(d) {

return function() {

return arc(d);

};

});

}

 

 

function initializeBreadcrumbTrail() {

// Add the svg area.

var trail = d3.select("#sequence").append("svg:svg")

.attr("width", width)

.attr("height", 50)

.attr("id", "trail");

// Add the label at the end, for the percentage.

trail.append("svg:text")

.attr("id", "endlabel")

.style("fill", "#000");

}

 

// Generate a string that describes the points of a breadcrumb polygon.

function breadcrumbPoints(d, i) {

var points = [];

var widthForThisLabel = b.w;

 

points.push("0,0");

points.push(widthForThisLabel + ",0");

points.push(widthForThisLabel + b.t + "," + (b.h / 2));

points.push(widthForThisLabel + "," + b.h);

points.push("0," + b.h);

if (i > 0) { // Leftmost breadcrumb; don't include 6th vertex.

points.push(b.t + "," + (b.h / 2));

}

return points.join(" ");

}

 

 

function drawLegend() {

 

// Dimensions of legend item: height, spacing, radius of rounded rect. width will be set dynamically

var li = {

h: 30,

s: 3,

r: 3

};

 

 

li.w = maxTextLegendWidth;

 

 

var legend = d3.select("#legend").append("svg:svg")

.attr("width", li.w)

.attr("height", d3.keys(myColors).length * (li.h + li.s));

 

var labelVsColors = {};

 

for (i = 0; i < allItems.length; i++) {

labelVsColors[allItems[i]] = myColors[i];

}

 

var g = legend.selectAll("g")

.data(d3.entries(labelVsColors))

.enter().append("svg:g")

.attr("transform", function(d, i) {

return "translate(0," + i * (li.h + li.s) + ")";

});

 

g.append("svg:rect")

.attr("rx", li.r)

.attr("ry", li.r)

.attr("width", li.w)

.attr("height", li.h)

.style("fill", function(d) {

return d.value;

}).on("mouseover", function(d){

var nodes = flatten(myData);

var n = nodes.find(function(d1){ return (d1.name == d.key)});

mouseover(n);

}).on("mouseleave", mouseleave);

 

g.append("svg:text")

.attr("x", li.w / 2)

.attr("y", li.h / 2)

.attr("dy", "0.35em")

.attr("text-anchor", "middle")

.style("pointer-events", "none")

.text(function(d) {

return d.key;

});

}

 

 

 

// Update the breadcrumb trail to show the current sequence and percentage.

function updateBreadcrumbs(nodeArray, percentageString) {

 

// Data join; key function combines name and depth (= position in sequence).

var g = d3.select("#trail")

.selectAll("g")

.data(nodeArray, function(d) {

return d.name + d.depth;

});

 

// Add breadcrumb and label for entering nodes.

var entering = g.enter().append("svg:g");

 

entering.append("svg:polygon")

.attr("points", breadcrumbPoints)

.style("fill", function(d) {

//return myColors[allItems.indexOf(d.name)];

return color(d.name);

});

 

 

entering.append("svg:text")

.attr("x", (b.w + b.t) / 2)

.attr("y", b.h / 2)

.attr("dy", "0.25em")

.attr("text-anchor", "middle")

.text(function(d) {

return d.name;

});

 

// Set position for entering and updating nodes.

g.attr("transform", function(d, i) {

return "translate(" + i * (b.w + b.s) + ", 0)";

});

 

// Remove exiting nodes.

g.exit().remove();

 

// Now move and update the percentage at the end.

d3.select("#trail").select("#endlabel")

.attr("x", (nodeArray.length) * (b.w + b.s) + b.t)

.attr("y", b.h / 2)

.attr("dy", "0.35em")

.attr("text-anchor", "left")

.text(percentageString);

 

// Make the breadcrumb trail visible, if it's hidden.

d3.select("#trail")

.style("visibility", "");

 

}

 

d3.select(self.frameElement).style("height", height + "px");

 

 

 

function myScale(steps) {

var colors, cols, cs, i, j, len, ref, t;

//colors = 'orange, deeppink, darkred'.replace(/(, *| +)/g, ',').split(',');

colors = '#337AB7, deeppink, red, orange,yellow'.replace(/(, *| +)/g, ',').split(','); //#337AB7 is the same as the blue button in Bootstrap

if (steps == 1) { // The original code had a bug in case of a one step scale. In that case I simply return the first element of the colors array

return [colors[0]];

}

colors = chroma.bezier(colors);

cs = chroma.scale(colors).mode('lab').correctLightness(true);

cols = [];

ref = (function() {

var k, ref, results;

results = [];

for (i = k = 0, ref = steps; 0 <= ref ? k < ref : k > ref; i = 0 <= ref ? ++k : --k) {

results.push(i / (steps - 1));

}

return results;

})();

for (j = 0, len = ref.length; j < len; j++) {

t = ref[j];

cols.push(cs(t).hex());

}

return cols;

}

 

function getTextWidth(text, font) {

// re-use canvas object for better performance

var canvas = getTextWidth.canvas || (getTextWidth.canvas = document.createElement("canvas"));

var context = canvas.getContext("2d");

context.font = font;

var metrics = context.measureText(text);

return metrics.width;

};

 

function flatten(root) {

var nodes = [],

i = 0;

 

function recurse(node) {

if (node.children) node.children.forEach(recurse);

if (!node.id) node.id = ++i;

nodes.push(node);

}

 

recurse(root);

return nodes;

}

 

 

</script>

</html>


Der Autor

Ben Schiemann

Ben Schiemann

Geschäftsführer