Created
December 11, 2013 23:32
-
-
Save mzierer/7920508 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "Politische Gewalt", | |
"children": | |
[ | |
{ | |
"name": "Linke Gewalt", | |
"children": [ | |
{ | |
"name": "Gegen Polizisten", | |
"children": [ | |
{"name": "Gefährliche Körperverletzung", | |
"children": [ | |
{"name":"Landshut, 25.02.12", | |
"children": [{"name":"Täter trat mit Springerstiefeln gegen Schienbein des eingesetzten Polizeibeamten und schlug mit der Faust gegen linke Schläfe des Opfers.","size":1500}]}, | |
{"name":"Nürnberg, 31.03.12", | |
"children": [{"name":"Täter schlug bei Demo mehrfach gezielt mit einer Fahnenstange gegen die Köpfe der eingesetzten Polizeibeamten.","size":1500}]}, | |
{"name":"Nürnberg, 31.03.12", | |
"children": [{"name":"Unbekannter Täter trat gezielt mit dem ausgestreckten Bein in Richtung des eingesetzten Polizeibeamten.","size":1500}]}, | |
{"name":"Nürnberg, 31.03.12", | |
"children": [{"name":"Täter schlug mit einer Fahnenstange bei Demo gezielt auf den Kopf des eingesetzten Polizeibeamten ein.","size":1500}]}, | |
{"name":"Nürnberg, 31.03.12", | |
"children": [{"name":"Unbekannter Täter warf bei Demo eine Fahnenstange auf eingesetzte Polizeibeamte.","size":1500}]}, | |
{"name":"Nürnberg, 31.03.12", | |
"children": [{"name":"Unbekannter Täter schlug bei Demo mittels Holzfahnenstange auf den Handrücken des eingesetzten Polizeibeamten ein.","size":1500}]}, | |
{"name":"München, 14.07.12", | |
"children": [{"name":"Während einer Festnahme bei Demo versuchte die Täterin Polizeibeamte von den Festgenommenen wegzureißen und verletzte einen Polizeibeamten.","size":1500}]}, | |
{"name":"Nürnberg, 01.08.12", | |
"children": [{"name":"Täter schlug bei einer Kundgebung 'gegen Rechts' mit einer Fahnenstange auf einen eingesetzten Polizeibeamten ein.","size":1500}]}, | |
{"name":"Nürnberg, 01.08.12", | |
"children": [{"name":"Tatverdächtiger nahm als Gegendemonstrant an einer NPD-Kundgebung teil und warf eine Flasche in Richtung NPD-Fahrzeug und in Richtung der eingesetzten Polizeibeamten.","size":1500}]}, | |
{"name":"Nürnberg, 01.08.12", | |
"children": [{"name":"Tatverdächtiger schlug und stieß mit einer Fahnenstange gegen einen Polizeibeamten, der in erhöhter Position die Ausschreitungen beweissicher dokumentierte.","size":1500}]}, | |
{"name":"Nürnberg, 01.08.12", | |
"children": [{"name":"Unbekannter Tatverdächtiger warf während des Demonstrationsgeschehens anläßlich der 'NPD-Sommertour' eine Kunststofftrinkflasche gezielt auf Polizeikräfte","size":1500}]}, | |
{"name":"Nürnberg, 01.08.12", | |
"children": [{"name":"Im Rahmen einer Festnahme warf der Täter mit einer halbgefüllten PET Wasserflasche auf die Polizeieinsatzkräfte.","size":1500}]}, | |
{"name":"Nürnberg, 01.08.12", | |
"children": [{"name":"Der Täter versuchte bei der Kundgebung der 'Allianz gegen Rechtsextremismus' gegen die eingesetzten Polizeibeamten zu treten.","size":1500}]} | |
] | |
}, | |
{"name": "Körperverletzung", | |
"children": [ | |
{"name":"Nürnberg, 31.03.12", | |
"children": [{"name":"Täter trat mit seinem linken Fuß bei Demo in den Genitalbereich eines eingesetzten Polizeibeamten.","size":500}]}, | |
{"name":"Hof, 31.03.12", | |
"children": [{"name":"Täter warf während Kundgebung ein Feuerzeug auf einen eingesetzten Polizeibeamten.","size":500}]}, | |
{"name":"Nürnberg, 01.08.12", | |
"children": [{"name":"Im Rahmen einer rechten Veranstaltung sprang der Täter anläßlich einer Festnahme bzw. dem Abtransport eines anderen Beschuldigten einem Polizeibeamten mit ausgestrecktem Bein in den Rücken.","size":500}]}, | |
{"name":"Nürnberg, 01.08.12", | |
"children": [{"name":"Im Rahmen der NPD-Sommertour wurde ein Polizeibeamter von Demonstrationsteilnehmern attackiert und verletzt.","size":500}]}, | |
{"name":"Coburg, 20.10.12", | |
"children": [{"name":"Täterin versuchte mehrfach eine errichtete polizeiliche Absperrung zu durchbrechen und riss dabei einen eingesetzten Polizeibeamten zu Boden.","size":500}]} | |
] | |
}, | |
{"name": "Landfriedensbruch", | |
"children": [ | |
{"name":"Nürnberg, 31.03.12","children": [{"name":"Täter forderte bei Demo gewalttätige Menschenmenge auf, die Absperrkette der eingesetzten Polizeibeamten gewaltsam zu überwinden.","size":500}] | |
}]}, | |
{"name": "Versuchter Totschlag", | |
"children": [ | |
{"name":"Nürnberg, 31.03.12","children": [{"name":"Täter stach mit einer angespitzten Stange auf einen eingesetzten Polizeibeamten bei Demo ein.","size":2500}]}, | |
{"name":"Nürnberg, 31.03.12","children": [{"name":"Täter stach mit einer angespitzten Stange auf einen eingesetzten Polizeibeamten bei Demo ein.","size":2500}]} | |
] | |
}, | |
{"name": "Widerstand gegen Vollstreckungsbeamte", | |
"children": [ | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Der Täter widersetzte sich aktiv durch Drücken/Schieben/Unterhaken mit anderen Demonstranten einer Räumungsmaßnahme durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter widersetzte sich bei Versammlung der Räumung durch Polizeibeamte.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Täter schlug bei einer Demo einem eingesetzten Polizeibeamten mit der Faust gegen den Helm.","size":150}]}, | |
{"name":"München, 21.01.12","children": [{"name":"Anläßlich eines Versammlungsgeschehens leistete die Täterin Widerstand.","size":150}]}, | |
{"name":"Deggendorf, 22.02.12","children": [{"name":"Die Täter leisteten bei einer politischen Veranstaltung Widerstand.","size":150}]}, | |
{"name":"München, 22.05.12","children": [{"name":"Täter leistete bei Demo anläßlich seiner Festnahme Widerstand und trat nach den eingesetzten Polizeibeamten.","size":150}]}, | |
{"name":"München, 31.07.12","children": [{"name":"Der Täter sollte von Polizeibeamten abtransportiert werden, hierbei leistete er erheblichen Widerstand.","size":150}]}, | |
{"name":"München, 31.07.12","children": [{"name":"Täterin versuchte eine polizeiliche Absperrung zu durchbrechen.","size":150}]}, | |
{"name":"München, 31.07.12","children": [{"name":"Täter versuchte sich mit Gewalt durch die polizeiliche Absperrung zu drücken.","size":150}]}, | |
{"name":"München, 31.07.12","children": [{"name":"Die Täterin leistete als Teilnehmerin einer nicht angezeigten Versammlung, die sich gegen die NPD- richtete, durch Drücken gegen die Polizeikette Widerstand.","size":150}]}, | |
{"name":"München, 31.07.12","children": [{"name":"Die Täterin leistete als Teilnehmerin einer nicht angezeigten Versammlung, die sich gegen eine dortige NPD-Versammlung richtete, bei der Festnahme Widerstand.","size":150}]}, | |
{"name":"München, 31.07.12","children": [{"name":"Die Täterin versuchte mit Gewalt eine Festnahme zu verhindern, indem sie den Arm des Polizeibeamten fasste und versuchte diesen mit Gewalt wegzureißen.","size":150}]}, | |
{"name":"Regensburg, 01.08.12","children": [{"name":"Anläßlich einer NPD-Versammlung blockierte der Täter die abfahrenden Kfz und leistete beim polizeilichen Einschreiten erheblichen körperlichen Widerstand.","size":150}]}, | |
{"name":"Nürnberg, 01.08.12","children": [{"name":"Im Rahmen der NPD-Sommertour versuchten die Tatverdächtigen durch Ziehen bzw. Schubsen der Einsatzkräfte einen bereits Festgenommenen zu befreien.","size":150}]}, | |
{"name":"Nürnberg, 01.08.12","children": [{"name":"Anläßlich der NPD-Sommertour schlug unbekannter Tatverdächtiger schlug einiem eingesetzten Polizeibeamten und versuchte die Absperrung zu überwinden.","size":150}]}, | |
{"name":"Nürnberg, 01.08.12","children": [{"name":"Anläßlich der NPD-Sommertour schlug der Tatverdächtige einem eingesetzten Polizeibeamten mehrmals mit der Faust auf den Kopf.","size":150}]}, | |
{"name":"Nürnberg, 01.08.12","children": [{"name":"Im Rahmen der Auflösung einer Sitzblockade versuchte der Täter einen Polizeibeamten in Richtung der Gegendemonstranten zu ziehen.","size":150}]}, | |
{"name":"Nürnberg, 01.08.12","children": [{"name":"Bei einer NPD-Veranstaltung versuchte Täter die polizeiliche Absperrkette zu durchdringen.","size":150}]}, | |
{"name":"Nürnberg, 01.08.12","children": [{"name":"Täter wollte sich einer Vorkontrolle zu einer Demonstration nicht unterziehen und mußte mit UZ festgehalten werden","size":150}]}, | |
{"name":"Nürnberg, 01.08.12","children": [{"name":"Täter befand sich anläßlich der 'NPD-Sommertour' an einer Polizeiabsperrung, durchbrach diese und leistete gegen die Polizeibeamten Widerstand.","size":150}]}, | |
{"name":"München, 03.10.12","children": [{"name":"Anläßlich einer Demonstration leistete die Täterin des linken Spektrums Widerstand.","size":150}]} | |
] | |
} | |
] | |
}, | |
{ | |
"name": "Gegen Rechte", | |
"children": [ | |
{"name": "Gefährliche Körperverletzung", | |
"children": | |
[{"name":"Weißenburg i. Bay., 01.01.12","size":1500}, | |
{"name":"Mühldorf a. Inn, 14.01.12","size":1500}, | |
{"name":"München, 10.03.12","size":1500}, | |
{"name":"Weißenburg i. Bay., 10.03.12","size":1500}, | |
{"name":"München, 10.03.12","size":1500}, | |
{"name":"Weißenburg i. Bay., 10.03.12","size":1500}, | |
{"name":"Weißenburg i. Bay., 10.03.12","size":1500}, | |
{"name":"Hof, 01.05.12","size":1500}, | |
{"name":"Fürth, 15.06.12","size":1500}, | |
{"name":"Fürth, 15.06.12","size":1500}, | |
{"name":"Altötting, 26.07.12","size":1500}, | |
{"name":"Augsburg, 31.07.12","size":1500}, | |
{"name":"Nürnberg, 01.08.12","size":1500}, | |
{"name":"Freising, 11.08.12","size":1500}, | |
{"name":"Seubersdorf i.d. Opf., 03.10.12","size":1500}, | |
{"name":"Seubersdorf i.d. Opf., 03.10.12","size":1500}, | |
{"name":"München, 10.11.12","size":1500}] | |
}, | |
{"name": "Körperverletzung", | |
"children": | |
[{"name":"München, 21.01.12","size":500}, | |
{"name":"Landshut, 25.02.12","size":500}, | |
{"name":"München, 10.03.12","size":500}, | |
{"name":"Weißenburg i. Bay., 10.03.12","size":500}, | |
{"name":"Coburg, 28.05.12","size":500}, | |
{"name":"Nürnberg, 01.08.12","size":500}, | |
{"name":"Seubersdorf i.d. Opf., 03.10.12","size":500}, | |
{"name":"Coburg, 20.10.12","size":500}] | |
}, | |
{"name": "Landfriedensbruch", | |
"children": | |
[{"name":"Ansbach, 01.01.12","size":500}, | |
{"name":"München, 10.03.12","size":500}, | |
{"name":"München, 10.03.12","size":500}, | |
{"name":"München, 10.03.12","size":500}, | |
{"name":"München, 10.11.12","size":500}] | |
}, | |
{"name": "Raub", | |
"children": | |
[{"name":"Coburg, 27.05.12","size":500}, | |
{"name":"Coburg, 28.05.12","size":500}, | |
{"name":"Coburg, 20.10.12","size":500}] | |
}, | |
{"name": "Versuchter Totschlag", | |
"children": | |
[{"name":"Meeder, 18.02.12","size":2500}] | |
}, | |
{"name": "Brandstiftung", | |
"children": | |
[{"name":"Wunsiedel, 17.11.12","size":500}] | |
} | |
] | |
}, | |
{"name": "Sachschaden", | |
"children": | |
[ | |
{"name": "Brandstiftung", | |
"children": | |
[{"name":"München, 05.09.12","size":500}] | |
} | |
, | |
{"name": "Gefährliche Eingriffe in den Straßenverkehr", | |
"children": | |
[{"name":"Marktoberdorf, 29.07.12","size":300}] | |
} | |
, | |
{"name": "Landfriedensbruch", | |
"children": | |
[{"name":"Amberg, 22.04.12","size":500}] | |
} | |
] | |
}, | |
{"name": "unbekannt", | |
"children": | |
[ | |
{"name": "Gefährliche Körperverletzung", | |
"children": | |
[{"name":"München, 04.02.12","size":1500}, | |
{"name":"Weißenburg i. Bay., 10.03.12","size":1500}, | |
{"name":"Fürstenfeldbruck, 30.05.12","size":1500}, | |
{"name":"München, 24.11.12","size":1500}, | |
{"name":"München, 24.11.12","size":1500}] | |
}, | |
{"name": "Körperverletzung", | |
"children": | |
[{"name":"Sulzbach-Rosenberg, 03.03.12","size":500}, | |
{"name":"Nürnberg, 03.04.12","size":500}, | |
{"name":"Nürnberg, 18.06.12","size":500}, | |
{"name":"Nürnberg, 05.10.12","size":500}] | |
} | |
] | |
} | |
] | |
} | |
, | |
{ | |
"name": "Rechte Gewalt", | |
"children": [ | |
{ | |
"name": "Gegen Polizisten", | |
"children": [ | |
{"name":"Gefährliche Körperverletzung", | |
"children": | |
[{"name":"Augsburg , 31.03.12","size":1500}] | |
} | |
, | |
{"name":"Körperverletzung", | |
"children": | |
[{"name":"München , 04.12.12","size":500}] | |
} | |
, | |
{"name":"Widerstand gegen Vollstreckungsbeamte", | |
"children": | |
[{"name":"Memmingen , 20.04.12","size":150}, | |
{"name":"Memmingen , 20.04.12","size":150}] | |
} | |
] | |
} | |
, | |
{ | |
"name": "Gegen Linke", | |
"children": [ | |
{"name":"Gefährliche Körperverletzung", | |
"children": | |
[{"name":"Neustadt a.d. Donau , 01.01.12","size":1500}, | |
{"name":"München , 14.01.12","size":1500}, | |
{"name":"Roding , 09.03.12","size":1500}, | |
{"name":"Breitenbrunn , 24.03.12","size":1500}, | |
{"name":"Oberschönegg , 24.03.12","size":1500}, | |
{"name":"Oberschönegg , 24.03.12","size":1500}, | |
{"name":"Breitenbrunn , 24.03.12","size":1500}, | |
{"name":"Memmingen , 19.04.12","size":1500}, | |
{"name":"München , 09.08.12","size":1500}, | |
{"name":"Seubersdorf i.d. Opf. , 03.10.12","size":1500}] | |
} | |
, | |
{"name":"Körperverletzung", | |
"children": | |
[{"name":"Freising , 29.01.12","size":500}, | |
{"name":"Fürth , 15.06.12","size":500}, | |
{"name":"Regensburg , 01.08.12","size":500}, | |
{"name":"München , 05.08.12","size":500}, | |
{"name":"München , 20.08.12","size":500}, | |
{"name":"München , 15.09.12","size":500}, | |
{"name":"Seubersdorf i.d. Opf. , 03.10.12","size":500}, | |
{"name":"Seubersdorf i.d. Opf. , 03.10.12","size":500}] | |
} | |
] | |
} | |
, | |
{ | |
"name": "rassistisch motiviert", | |
"children": [ | |
{"name": "Gefährliche Körperverletzung", | |
"children": | |
[{"name":"Deggendorf , 22.01.12","size":1500}, | |
{"name":"München , 28.03.12","size":1500}, | |
{"name":"Unterhaching , 25.08.12","size":1500}, | |
{"name":"Röhrnbach , 30.09.12","size":1500}, | |
{"name":"Krumbach , 02.10.12","size":1500}, | |
{"name":"München , 09.10.12","size":1500}, | |
{"name":"München , 20.11.12","size":1500}, | |
{"name":"Nürnberg , 25.11.12","size":1500}, | |
{"name":"Würzburg , 01.11.12","size":1500}] | |
} | |
, | |
{"name": "Körperverletzung", | |
"children": | |
[ | |
{"name":"Weißenbrunn , 29.01.12","size":500}, | |
{"name":"München , 11.02.12","size":500}, | |
{"name":"Memmingen , 07.04.12","size":500}, | |
{"name":"München , 10.05.12","size":500}, | |
{"name":"München , 10.05.12","size":500}, | |
{"name":"Fürth , 17.06.12","size":500}, | |
{"name":"München , 09.07.12","size":500}, | |
{"name":"München , 10.08.12","size":500}, | |
{"name":"München , 23.08.12","size":500}, | |
{"name":"München , 28.09.12","size":500}, | |
{"name":"München , 28.09.12","size":500}, | |
{"name":"München , 18.10.12","size":500}, | |
{"name":"Würzburg , 27.10.12","size":500}, | |
{"name":"Buttenwiesen , 07.11.12","size":500}, | |
{"name":"München , 10.11.12","size":500}, | |
{"name":"Ansbach , 01.12.12","size":500}, | |
{"name":"Babenhausen , 22.12.12","size":500}, | |
{"name":"München , 24.12.12","size":500}] | |
} | |
] | |
} | |
, | |
{ | |
"name": "unbekannt", | |
"children": [ | |
{"name":"Gefährliche Körperverletzung", | |
"children": | |
[{"name":"München , 08.01.12","size":1500}, | |
{"name":"Ottobrunn , 22.01.12","size":1500}, | |
{"name":"Neufahrn b. Freising , 04.02.12","size":1500}, | |
{"name":"Regensburg , 16.02.12","size":1500}, | |
{"name":"Regensburg , 19.02.12","size":1500}, | |
{"name":"München , 22.06.12","size":1500}, | |
{"name":"München , 22.06.12","size":1500}, | |
{"name":"Erding, 29.06.12","size":1500}, | |
{"name":"Stein , 23.07.12","size":1500}, | |
{"name":"Holzheim , 30.09.12","size":1500}] | |
} | |
, | |
{"name":"Körperverletzung", | |
"children": | |
[{"name":"Landshut , 25.02.12","size":500}, | |
{"name":"München , 11.03.12","size":500}, | |
{"name":"Passau , 30.04.12","size":500}, | |
{"name":"Schillingsfürst, 23.07.12","size":500}, | |
{"name":"München , 08.12.12","size":500}] | |
} | |
, | |
{"name":"Erpressung", | |
"children": | |
[{"name":"Freising , 24.04.12","size":500}] | |
} | |
] | |
} | |
] | |
} | |
] | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<meta charset="utf-8"> | |
<style> | |
.node { | |
cursor: pointer; | |
} | |
.node:hover { | |
stroke: purple; | |
stroke-width: 1.5px; | |
} | |
.node--root { | |
stroke: #777; | |
stroke-width: 2px; | |
} | |
.node--leaf { | |
fill: white; | |
} | |
.label { | |
font: 11px "Helvetica Neue", Helvetica, Arial, sans-serif; | |
text-anchor: middle; | |
text-shadow: 0 1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff, 0 -1px 0 #fff; | |
} | |
.label, | |
.node--root, | |
.node--leaf { | |
pointer-events: none; | |
} | |
div.tooltip { | |
position: absolute; | |
text-align: center; | |
width: 60px; | |
height: 28px; | |
padding: 2px; | |
font: 12px sans-serif; | |
background: lightsteelblue; | |
border: 0px; | |
border-radius: 8px; | |
pointer-events: none; | |
} | |
</style> | |
<body> | |
<script src="http://d3js.org/d3.v3.min.js"></script> | |
<script> | |
var margin = 10, | |
outerDiameter = 700, | |
innerDiameter = outerDiameter - margin - margin; | |
var x = d3.scale.linear() | |
.range([0, innerDiameter]); | |
var y = d3.scale.linear() | |
.range([0, innerDiameter]); | |
var color = d3.scale.linear() | |
.domain([-1, 8]) | |
.range(["rgb(27,132,255)", "rgb(27,180,0)"]) | |
.interpolate(d3.interpolateHcl); | |
var pack = d3.layout.pack() | |
.padding(2) | |
.size([innerDiameter, innerDiameter]) | |
.value(function(d) { return d.size; }) | |
var svg = d3.select("body").append("svg") | |
.attr("width", outerDiameter) | |
.attr("height", outerDiameter) | |
.append("g") | |
.attr("transform", "translate(" + margin + "," + margin + ")"); | |
var div = d3.select("body").append("div") | |
.attr("class", "tooltip") | |
.style("opacity", 0); | |
d3.json("flare.json", function(error, root) { | |
var focus = root, | |
nodes = pack.nodes(root); | |
svg.append("g").selectAll("circle") | |
.data(nodes) | |
.enter().append("circle") | |
.attr("class", function(d) { return d.parent ? d.children ? "node" : "node node--leaf" : "node node--root"; }) | |
.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }) | |
.attr("r", function(d) { return d.r; }) | |
.style("fill", function(d) { return d.children ? color(d.depth) : null; }) | |
.on("click", function(d) { return zoom(focus == d ? root : d); }) | |
<!--Tooltip, das kommt von hier http://www.d3noob.org/2013/01/adding-tooltips-to-d3js-graph.html--> | |
.on("mouseover", function(d) { | |
div.transition() | |
.duration(200) | |
.style("opacity", .9); | |
div .html(d.name) | |
.style("left", (d3.event.pageX) + "px") | |
.style("top", (d3.event.pageY - 28) + "px"); | |
}) | |
.on("mouseout", function(d) { | |
div.transition() | |
.duration(500) | |
.style("opacity", 0); | |
}); | |
svg.append("g").selectAll("text") | |
.data(nodes) | |
.enter().append("text") | |
.attr("class", "label") | |
.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; }) | |
.style("opacity", function(d) { return d.parent === root ? 1 : 0; }) | |
.text(function(d) { return d.name; }); | |
d3.select(window) | |
.on("click", function() { zoom(root); }); | |
function zoom(d, i) { | |
focus = d; | |
var k = innerDiameter / d.r / 2; | |
x.domain([d.x - d.r, d.x + d.r]); | |
y.domain([d.y - d.r, d.y + d.r]); | |
d3.event.stopPropagation(); | |
var transition = d3.selectAll("text,circle").transition() | |
.duration(d3.event.altKey ? 7500 : 1000) | |
.attr("transform", function(d) { return "translate(" + x(d.x) + "," + y(d.y) + ")"; }); | |
transition.filter("circle") | |
.attr("r", function(d) { return k * d.r; }); | |
transition.filter("text") | |
.style("opacity", function(d) { return d.parent === focus ? 1 : 0; }); | |
} | |
}); | |
d3.select(self.frameElement).style("height", outerDiameter + "px"); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment